On Sun, 12 Apr 2009 15:23:02 -0500 King InuYasha ngompa13@gmail.com wrote:
Aside from Launchpad, not many people actually like using Bazaar because it has the worst performance of the three by far.
The performance argument is a quite old one. I certainly wouldn't say that current bzr is as fast as current git, but I can't say that I've ever run into any barriers performance-wise with it either. Working with the MySQL source tree is fairly easy and not at all slow, at least on my system.
So far, people have recommended like so:
Git - need to be extremely tech savvy, willing to work mostly if not only in POSIX-based systems, worst documentation of the three
It's documentation isn't bad. There are man pages for every sub-command of git that I've ever had need to use, though there are many sub-commands that I have never even looked at (haven't had the need). I've only ever used it to prepare patches for projects that use it, though, and its branching model is a bit inflexible for at least the workflows that I use without wasting tons of disk space.
Mercurial - more complete docs, so easier to learn, cross-platform, has good performance with mix of C and Python
At least when I had looked at it, the documentation was pretty confusing. Admittedly, though, that was a long time ago when I was comparing bzr, git, hg, and mtn to determine what I wanted to switch to from svn.
Bazaar - extremely cross platform, very slow compared to Mercurial and Git, sparsely documented, or out of date documentation, slightly strange in syntax, recommended for very small projects where performance won't matter too much.
At least since I've used it, the docs have always been more than sufficient. More importantly, I've only ever had to reference the documentation once or twice---the feel of bzr is pretty intuitive coming from Subversion, and I've never had a problem with performance. I frequently use it against Subversion servers, as there are a great many of those in the areas I work with. Using it with MySQL, Mono, and MonoDevelop, I've not had any complaints on performance, either.
That was the advice I got when I was figuring out a DVCS to use for the Enano CMS Project. Based on that, it was rather easy to throw out Git and Bazaar.
It would be. I can say that when I checked out the four I listed, it was a pretty close decision between git and bzr. Bazaar wound up winning out because my clients used Subversion (many of them have migrated to Bazaar internally for various reasons) and working with the Subversion workflow, as well as other less centralized workflows, was quite easy, and the branching model was rather enjoyable, IMHO. Had Bazaar not existed at the time, I would've chosen git, more likely than not. It is more difficult to work with, IMHO, but it was still the only other option that stood out as viable to me.
A note; I'd checked all of these projects out in mid-2006 or so. A good lot has changed in both bzr and git in the last 3 years, so I'd seriously try them all before making a decision. The only one that I know of that I would _still_ stay away from is mtn, but only because the cost of cloning is completely terrible and the CL interface is harder (at least for me) to grasp than git's.
--- Mike