[TxMt] Re: Distributed model for bundles

Fred B fredb7 at gmail.com
Tue Aug 7 02:30:57 UTC 2007


On 8/6/07, Jacob Rus <jacobolus at gmail.com> wrote:
> Jeremy Wilkins wrote:
> > Without wishing to turn this into a which scm is best discussion, Git
> > isn't the easiest system for non-technical users to learn - it is aimed
> > at power users. You may end up with a situation where using the version
> > control is harder then creating the bundle. (..)
>
> Git has been improving very rapidly though.  It is vastly easier for
> normal (non-power-) users than it was a year ago, and I imagine it will
> be still better in another year.  I don't know if you've tried Git
> recently; if not you should give it a try.  If you stick to the basics,
> I'd say it's about as easy as SVN.  But there's of course a lot of extra
> power there too, if you want it.
>
> -Jacob

There has been a lot of hype about Git lately and I don't understand why.
I'm glad Allan consider Mercurial too, unfortunately some people
respond "Ok, let's use Git". ;)

I read Git have slightly better performances than Mercurial, but as
mercurial repos handle the complete OpenSolaris and Mozilla source
trees just fine, I guess it would be good enough for the bundle repo.

Beside that, what are the advantages of Git over Mercurial? (And no,
being initiated by Linus doesn't count ;)

Here are some advantages of Mercurial over Git I can see:

- Git is much more difficult to install than Mercurial. Even with
MacPorts: e.g. Git needs new versions of openssh, openssl, curl,
rsync, etc. and install more than 135 different commands! This take a
lot of time and can be difficult if you have installed some of those
outside of MacPorts. On Tiger, the only thing you need before
installing Mercurial is upgrading Python to 2.4+. Then it takes 20
sec.

- Documentation: Git install a man page for each command (~135) and
have no user manual, not the easiest way to find information when you
need it, IMO. Mercurial has 3 man pages and complete doc, check the
[official site][1] and the unofficial [hg book][2] (check the
comparison between Mercurial and other systems, BTW).

- I consider myself a power user and Git is definitely more difficult
to learn and use than Mercurial. The all "index tree" concept adds
unneeded complexity, IMHO. (Allan has a hard time making a Git bundle
for TM because of that. See the [qit bundle thread][3].) I think that
if git is chosen for TM bundles, there will be more git related
questions on this list than anything else.

- I read that a Git repository requires frequent manual "repacks" of
its metadata. Mercurial repository needs no maintenance.

- AFAICT, Mercurial's source code is MUCH more clean and readable (and
I'm not a big fan of Python).

The Mercurial bundle could be improved, and I guess there would be
more people contributing if TM uses Mercurial, but it's working fine
like it is now. (I'll commit a bunch of fixes and improvements soon
BTW.)

@Jacob: I understand Git is improving rapidly, but so is Mercurial...

All I meant to say was: Be sure to compare both systems.


[1]: http://www.selenic.com/mercurial/wiki/
[2]: http://hgbook.red-bean.com/
[3]: http://lists.macromates.com/pipermail/textmate/2007-August/021412.html

--
FredB



More information about the textmate mailing list