Tim Chase <python.l...@tim.thechases.com> writes: > Bazaar (bzr) > ============ > launchpad.net popular for hosting > Pros: > - some Ubuntu interactions (such as launchpad) easier > - a rigorous focus on correctness > - written in Python (with a small optional bit of C) > - easy-to-use interface (CVS-ish) > - good cross-platform support
- Launchpad is free software (so anyone could run their own instance to host Bazaar repositories). - Merges preserve all revision data, but history displays don't show merged revisions by default. (This obviates most of the need for history-altering commands in other VCSen to “tidy up” the revision data: it's tidy already by default.) - Very smooth interaction with “foreign” VCS repositories, especially Subversion. - Supports a wide range of workflows, without forcing peers to the same workflow. - Especially: Supports “centralised” (Subversion-style) VCS workflow without losing any of the distributed advantages. - Treats files, and filename changes, as first-class citizens in the revision data. (Git and some others use fallible heuristics to figure those out after-the-fact instead of recording the data.) > Cons: > - was slow, though I understand they've worked on improving this Right, that's not a count against Bazaar for at least the last several versions (since 2009 at least). Bazaar is easily fast enough for anything people use, say, Mercurial for. Cons: - Repository formats were changing frequently for a while, leaving a legacy of confusion (fixed now, but the confusion is still a black mark). - Limited developer base, because of Canonical's community-hostile “contribution agreement” requirements. - Currently only one big public full-featured hosting of Bazaar repositories: Launchpad.net. - The most advanced web UI to browse Bazaar repositories, “loggerhead”, is somewhat lacking compared to the ones at Git and Mercurial hosting sites. > Mercurial (hg) > ============== > BitBucket is popular for hosting > Pros: > - speedy This isn't a significant advantage for Mercurial against Git (which is much faster) or Bazaar (which is easily as fast as Mercurial). > - fairly compact repositories Again, this isn't a significant advantage for Mercurial over either of Git or Bazaar. > - chosen by Python as the repository of choice As I understand it, the decision was down to Bazaar or Mercurial, which were each close enough in technical and workflow assessment that the decision was made on personal preference. Fair enough, and it does give another reason *now* to use Mercurial, but not due to any particular advantage in Mercurial. > Cons: > - no biggies that I've found - (Anecdotal) Merge algorithm sometimes fails catastrophically. - Merged revisions aren't hidden, leading users to alter history. > Protocols: > - http > - ssh > Git (git) > ========= > GitHub is popular for hosting Unlike GitHub, Gitorious is a free-software Git hosting provider. > Pros: > - a *lot* of popular projects use it (Linux kernel) > - fast > - fairly compact repositories > - good documentation (though somewhat scattered) Hmm. Can't really overcome the rampant NIH syndrome: there is a lot that shouldn't *need* so much documentation if the interface were better designed from the start. I wouldn't count this as a pro for Git. > Cons: > - interface diverges from the "CVS standards" - Terminology and command-line API gratuitously arcane (I'm reminded of GNU Arch, *shudder*). - Merged revisions aren't hidden, leading users to alter history. > So that said, I've become a Mercurial user because the interface was > close to SVN which I used previously, and it was speedy on my older > machines. If bzr has come up to comparable speed, I'd be game to probe > it again. I recommend doing so. -- \ “If I haven't seen as far as others, it is because giants were | `\ standing on my shoulders.” —Hal Abelson | _o__) | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list