On Fri, 2014-10-31 at 06:44 -0400, Michael Goulish wrote:
> Oh, I don't think this is a "me too" thing.
> 
> I have actually met some of these guys, and I 
> can assure you that they do not, in any other way,
> seem very susceptible to fashion trends.

No my wife will agree with that.

> Git has a bit of a wackiness issue if you ask me,
> but the distributed nature of git seems to better 
> fit the distributed nature of open source projects.

I have used several source control systems in my day (ClearCase, CVS ,
SVN, GIT) and git is by far the best I have used. The SVN design
philosophy seems to have been "it sucks slightly less than CVS". 

Benefits of git: 
- much MUCH MUUUUCH faster than SVN. I can clone the *entire project
history* in git in the time it takes to pull a single revision in SVN.
- you have the *entire project history* at your disposal, you can search
past history, switch branches, compare with ancient versions all on your
own local disk without downloading anything. It is FAST.
- you have the entire set of branching, merging, rebasing etc. tools
available for your private use. You can do your own work in tiny
increments committing each one locally, stash changes while you try
something else, create branches of your own to explore alternatives -
then re-organize the lot into a single commit (or sensible set of
commits) before pushing it upstream. Nobody has to see how messy your
development process is.
- git bisect - git does an *automatic binary search* to find when a bug
was introduced. This is one of the most astonishingly useful tools I've
ever seen. (That's why I do my work in tiny increments - so I can bisect
for the bug when I screw up and don't notice for a while ;)
- You can freely branch and merge with git maintaining intelligent merge
arrows and doing sensible diffs taking merges into account. I hope SVN
has gotten better at this since last I looked, it used to really suck.
- decent graphical visualization tools if you're into that kind of
thing. Crazy text branch graphs and a nice emacs integration
(emacs-magit is better than emacs-git) for the old schoolers.

Git-svn also is much better SVN client than any of the actual svn
clients, it gives you most of the benefits above even if though the
upstream repo is SVN. The things I would gain from moving the main repo
to git would be
- speed: git pulling from an SVN repo has to use SVN's protocol which is
sloooow. git svn fetch is really really slow (you can bypass it somewhat
by fetching from apache's git mirror first then doing the svn fetch)
- decent branching and merging in the upstream repo.

Git is a bit whacky but it is worth taking a bit of time to figure it
out. The design is actually beautifully simple, one of the things that
took me a while to understand was that yes, it really is THAT simple. It
has a lot to offer, I recommend you check it out (you don't have to wait
for the main repo to convert, grab git-svn today!)
 
> 
> I think that's why it has spread so quickly in the 
> open source communities, and probably should do 
> likewise here.
> 
> 
> 
> ----- Original Message -----
> [NO] I don't like me too effect, must everyone use git
>  
>  *** This message has been sent using GIONEE M2 ***
> 
> Michael Goulish <[email protected]> wrote:
> 
> >
> >[ X ] Yes, migrate the proton repo over to git.
> >[   ] No, keep it in svn.
> >[   ] see if we can find a working copy of SCCS.
> >


Reply via email to