[ECOS] Re: Switching to using git on eCosForge

Sergei Organov osv@javad.com
Mon Sep 21 20:06:00 GMT 2009

Alex Schuilenburg <alexs@ecoscentric.com> writes:

> My main argument against git is it has a very steep initial learning
> curve,

Really? Not in my experience. IMHO, those 3 we discuss are roughly the
same, just having raw corners in different places. E.g., there is even a
table of commands equivalence between hg and git somewhere.

> and from experience you can hang yourself if you do not know what
> you are doing.  (Yes, there are rollbacks, etc, but sometimes it is a
> while down the line before you realise you did something wrong).

It's a very nice thing with git that it's virtually impossible to loose
your work as soon as you committed it to git, really, even if you keep
doing something wrong. Even though nowadays git does automatically run
garbage collection, the reflog feature still keeps all unreferenced data
intact for rather long time.

> You really don't want to force new users on an additional learning
> curve. There are 100's of commands to remember, whereas both bzr and
> hg have one.

Come on! Which one? 'hg' and 'bzr'??? Then git surprisingly has only
one as well: 'git' ;-)

One does need additional learning curve switching from CVS to any of
DVCS'es, and all of them have *-for-CVS-users-manual ;-) And once again,
with git you can have gitcvsserver running to keep "CVS forever"
users happy with their favorite clients.

> Also, while documentation is improving (http://book.git-scm.com/), it is
> not as good or complete as mercurial (http://hgbook.red-bean.com/read/)
> in terms of non-power users.  Both have books in print available from
> places like Amazon.

For me git's documentation was more than enough to have a quick-start.

> For example, I started my evaluation with bzr, then hg then git. bzr and
> hg were a lot easiest to pick up and start using than git.

I wonder, do you remember what the problem(s) with git was (were)? Care
to give an example where git is harder than any of the other two?

> I also have done most of my eval on Linux, dropping back to Windows to
> see how easy it was to use and integrate graphical diff tools, etc.
> For other comparisons see:
> http://code.google.com/p/support/wiki/DVCSAnalysis
> http://www.rockstarprogrammer.org/post/2008/apr/06/differences-between-mercurial-and-git/
> http://importantshock.wordpress.com/2008/08/07/git-vs-mercurial/
> http://stackoverflow.com/questions/1450348/git-equivalents-of-most-common-mercurial-commands
> http://rg03.wordpress.com/2009/04/07/mercurial-vs-git/
> http://www.diffen.com/difference/Git_%28software%29_vs_Mercurial_%28software%29
> ...
> but bear in mind that arguments against either git or hg may have
> disappeared with more recent versions.  You really need to try both...

Yes, all 3 are improving and do borrow from each other. However, in my
opinion, git is preferred in the long run as it has very clear, simple
yet powerful model in its core, when hg already outlived its initial
simple design model based on "every branch is a separate repository"
idea (now it has 3(!) different kinds of branches), and bzr is being
built from use-cases down (see how many times they have already changed
format of repository). Yes, sure, me could be entirely wrong ;-)

-- Sergei.

Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

More information about the Ecos-discuss mailing list