-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Wincent Colaiuta wrote:
> I strongly recommend Git for the following reasons:
> 
> - it is very, very, very fast
> - mature, robust, well-tested codebase
> - simple, elegant and powerful design (underlying model)
> - highly active, competent developer community

Everything I've seen bears witness to these. The efficient
implementation looks fantastic. This is in fact why I thought of git first.

However, since Wget is very unlikely to grow large (as, small footprint
is one of its prized features), these strengths are less important, to
me, than certain other considerations.

> - very pleasant command-line experience (colorized diff output,
> intelligent use of pager, many convenient tools like "git stash")

I have my doubts that it is more pleasant to use, at least in some
respects, than Mercurial or Bazaar (my own limited experience with using
git may bear this out). From an ease-of-use standpoint, that is: it
sounds like you're referring more to small convenience features, which
are indeed good things to have, but IMO not as important as ease-of-use,
where Mercurial and Bazaar seem to have the upper hand, to at least some
degree.

> - excellent web interface (gitweb) and visualization tools (gitk,
> git-gui) included

AFAICT, though I haven't looked deeply into this, the same may be said
for Mercurial. I tend not to use such things (aside from the web
interface, which seemed good to me). Otherwise, the graphlog extension
to Mercurial pretty much completes my needs for visualization :)

> There are plenty of other reasons too, but the ones above are the ones
> that most stand out for me compared with my experience with other SCMs
> (CVS, Subversion and SVK).

I'm not familiar with SVK. And comparing pretty much any DRCS to CVS or
Subversion is going to come out looking pretty rosy, AFAICT. :D

> Windows is currently officially supported via the Cygwin POSIX
> compatibility layer, with a "native" (non-POSIX) fork known as "msysgit"
> is under active development (<http://code.google.com/p/msysgit/>,
> <http://git.or.cz/gitwiki/WindowsInstall>).

I have heard several complaints that its efficiency (the non-POSIX's, at
any rate) is not really comparable to the Unix one, and there are doubts
that it will be as strongly supported.

Also, I have also heard that a good amount of the architecture makes
some fairly Unixy assumptions: for instance, the way pathnames are
handled. I have not verified such things for myself, only noted that it
is a complaint from people who claim to have.

>> Git also has a reputation for being more difficult to use. Linus says
>> this is no longer so, but I'm not sure I'd trust his opinion on that...
> 
> Basic use is exceedingly simple and can be picked up in a 30 minute
> tutorial. To go beyond the basic "checkout, edit, commit" cycle requires
> some openness of mind and a willingness to learn about the underlying
> ideas of distributed version control, but this is true for any
> distributed SCM.
> 
> Advanced use is hard. Or to put that more accurately: *learning*
> advanced use can be hard but once you've covered the learning curve Git
> actually makes it exceedingly *easy* to do some pretty amazing things.

These are good points.

>> :) It is also rather short on documentation.
> 
> That's not true: there is a *huge* amount of high-quality documentation.
> If you want to go from "basic use" to "advanced use" and really
> *understand* what makes Git tick then there is no shortage of excellent
> docs.

Looks like I was gravely mistaken on that count, then.

As I've said, I haven't fully committed to using Mercurial yet; but
since it's already in place, I'll probably need to see points more along
the lines of why tool X is better, for our specific needs, than
Mercurial. That is, the best way to convince me to use something else,
is to point out that tool X has everything that Mercurial has that we
would be likely to need, _plus_ a thing or three that Mercurial doesn't
have that we would be likely to need. At the moment, Mercurial seems to
have everything we need, so I need to hear about the areas where I'm
mistaken. I'm confident that I may be completely unaware of a few such
things. For instance, the fact that it doesn't track directories
(though, I'm not sure, but I think git might also have this issue?)
might be a grave problem in some projects (MoinMoin, the wiki system
we're using for the Wgiki, gets around it by putting a dummy file theree).

The other way to convince me, would be for folks on this list to
convince me that there is a _strong_ preference for a particular tool.
So, keep these comments coming! :) That's two counts so far for git, and
I've heard from one or two off-list recommending Mercurial (wish I could
remember who it was ATM), so we're about even so far.

Git's efficient and robust implementation is indeed a strong argument,
but given the scope of our project, it seems unlikely to figure
strongly, practically--at any rate, Mercurial is also quite fast.
However, efficiency is still an important consideration, and was in fact
the main reason I didn't spend much time thinking about Bazaar, which
has a poor reputation on that point.

As I see it, the biggest concern over using git would be multiplatform
support. AFAICT, git has a great developer community, but a rather
Linux-focused one. And while, yes, there is Win32 support, the
impression I have is that it significantly lags Unix/Linux support.
Mozilla rejected it early on due to this conclusion (which, AIUI, they
actually tested, as opposed to me, who admittedly am operating mainly on
 the conclusions of others--I'd rather avoid an exhaustive comparison,
especially when the consequence is relatively small (we can always move
to a new SCM if it turns out Mercurial sucks in ways we hadn't
expected)). They were a little miffed about this finding, because, they
note, many of the problems they encountered with other systems "just
work" with git. Ruby is another project that rejected git for the same
reason (though they moved _to_ SVN).

Speaking of multiplatform support, I'm curious to hear from Steven
Schweda, what his experiences using Subversion have been, and how much
work it would be for him to work with git vs hg.

- --
Micah J. Cowan
Programmer, musician, typesetting enthusiast, gamer...
http://micah.cowan.name/

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFG8sfV7M8hyUobTrERCPdiAJ4g03hozk+5UPU4paEfKQQUYwUytQCfbuPR
DMk+wfxjKZljjR2FfUU3Tuk=
=HniG
-----END PGP SIGNATURE-----

Reply via email to