On Sat, 29 Feb 2020, 09:51 Waldek Hebisch, <[email protected]> wrote:

> On Sat, Feb 29, 2020 at 11:01:45AM -0500, Dima Pasechnik wrote:
> > On Sat, 29 Feb 2020, 08:11 Waldek Hebisch, <[email protected]>
> wrote:
> >
> > > On Sat, Feb 29, 2020 at 03:48:43PM +0100, Ralf Hemmecke wrote:
> > > > > ATM master sources are in svn, so diff is better than pull request.
> > > >
> > > > When do we switch to git?
> > > >
> > >
> > > Well, some time ago I thought that I am almost ready for switch.
> > > But then Camm Maguire wrote "fetch this special gcl branch".
> > > Given branch name it worked, but without knowing the name
> > > I was unable to find it in gcl git repo.
> >
> >
> > saying "check out that very special commit"  from svn repo does not get
> one
> > far either.
> >
> > So either git
> > > allows you to create invisible branches,
> >
> >
> > git branch
> >
> > lets you list all the  branches on a repo.
> > Branch is basically a label for a well-behaved subset of commits, not
> much
> > more than that.
> > (there are also tags, something a bit different)
>
> So I thought.  But all my attempts to list the branch, of course
> starting form 'git branch' failed.  Yet knowing the name switch
> to the branch worked.
>

I gather that you switched to a "tag", i.e. a frozen branch (listed by "git
tag")
gcl git repo does not use branches, as far as I can tell,
it uses tags only (the difference is that branches are mutable, whereas
tags are not).

No wonder that

git branch

does not report anything interesting

dimpase@penguin:/tmp/gcl$ git branch
* master

whereas

there are quite a few tags:

dimpase@penguin:/tmp/gcl$ git tag | wc -l
175

e.g.
dimpase@penguin:/tmp/gcl$ git tag | grep list_order.21
list_order.21

and so one can do

dimpase@penguin:/tmp/gcl$ git checkout list_order.21
Note: checking out 'list_order.21'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -b with the checkout command again. Example:

  git checkout -b <new-branch-name>

HEAD is now at 918026228 undef SGC on alpha for now




> > which I consider
> > > evil, or I my understanding of git is way below what is
> > > needed to effectivly use it.  I use git for less important
> > > projects, so I can survive using it.  But I feel that
> > > for me to use it for FriCAS developement is still too
> > > inefficient and risky.
> > >
> >
> > one need not be forced to use github/gitlab workflows of pull/merge
> > requests. One can instead work with named branches.
>
> Well, for FriCAS traditional branches are of limited use.  My
> main developement flow is interactive, compiling only edited
> files and loading them, while if possible reusing test data
> stored in the executing image.  In fact, for new code I prefer
> interpreter where I can work out expressions on command line,
> then wrap them in a function, gradualy function by function
> growing the code.  Neither git nor svn help with this.
>

git and other VCS are mostly for keeping track of the history of changes (I
presume you commit your code to master once in a while), and for
testing/merging work of
different people. It's pretty much orthogonal to developing code (unless
you/your collaborators work on different features, and
merging them as you go along - in this case branches are useful even
locally).

Another extremely useful feature of git is that's easy to set up automated
continuous integration
(you certainly don't want to wait for tests for all the different Lisp
compilers you support, if you want to check something, and this is very
easy with git repo hosted on GitHub or GitLab, you just push a commit
there, and
the builds and the tests are run automatically, somethething that doing
manually can take days if not weeks)



> > --------
> >
> > The bottom line is that nowadays most people either never used svn, or
> > already forgot all about it.
> >
> > (yes, I did use svn for  a year in 1999 a lot, and for few more years
> later
> > too, a bit, but now it is a source of major annoyance if I need to use
> it,
> > it's like going back to Fortran 4 or punchcards).
> >
> > The projects that stick to cvs or svn suffer, as cvs and svn are legacy
> > tools, and forcing it on contributors is counterproductive.
>
> Well, I used cvs and svn was a definite progress compared to cvs.
> Not so with git, at least for projects like FriCAS.  I understand
> that there is familiarity factor, different tool feels clumsy
> because it is different, regardless of objective features.  OTOH
> which version control software is in use should not matter much
> for contributors, main work is elsewere.
>

svn is, however a major stubling block fo people who want to do an
occasional contribution, and
have no clue about svn, and it's not only to them, but to the project:
surely they can email a patch, but this way all the checks a VCS can do are
not done
 - i.e. one has no idea to which state of the development tree the patch
must be applied to,
and whether it will merge cleanly.

In fact, git allows one to email patches synched against a particular
branch (git send-email),
and automatically apply these to the right place. (This is how Linux kernel
changes are reviewed/merged).
This is another kind of workflow, I suppose sometimes useful (never used it
myself though).

Dima



>
> --
>                               Waldek Hebisch
>
> --
> You received this message because you are subscribed to the Google Groups
> "FriCAS - computer algebra system" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/fricas-devel/20200229165118.GA36920%40math.uni.wroc.pl
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"FriCAS - computer algebra system" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/fricas-devel/CAAWYfq3RaetJZqS8r2URbkTQKLLoo2YbkEws0xdL3P7d23iO7Q%40mail.gmail.com.

Reply via email to