-----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-----