GNU Emacs is on Bazaar now
lists.gnu.org
lists.gnu.org
Everyone I know working on Emacs just uses the Git version and sends patches against that. But we couldn't use Git for Emacs, because RMS does not like Linus. Rational!
EDIT: Just saw the Bazaar site. Even MySQL and Ubuntu uses them. http://bazaar.canonical.com/
Bazaar is a fork of arch. The last time i truly looked at it it was only recently forked from arch. So you experience may vary.
At that time Bazaar was dog slow. Depending on who I ask it is either no longer slow or it's still slow just not as slow. Since Git and HG both suite my needs perfectly I've never bothered to check myself.
Bazaar uses multiple repository and wire formats none of which are completely compatible with each other. For an application whose focus is distributed collaboration this seems very much wrong.
It also from what I've heard is fragile when it comes to interrupted writes. I've had stories of folks losing the whole repository because of this. This is hearsay though so you can take it or leave it.
The sense I get is that both Git and Hg have a well exposed and understandable theory of operation while Bazaar does not seem to have this and instead just gives you a set of best practices. Again this is subjective and you may very well find that its quite useable and understandable.
I wonder if you may be someone who used the software that was once also called "Bazaar" but has since been renamed to Baz. It appears that the current incarnation of Bazaar did not so much start out as a fork of arch, but as a test-bed for features that would eventually make it back into Baz (which did start out as a fork of arch). Apparently everybody decided to just ditch the old codebase and work on the new one instead.
http://en.wikipedia.org/wiki/Bazaar_(software)#History
I like what I saw from looking yesterday. I especially like how it handles renames and how it treats directories as first-class objects in the repository. I'm also drawn to their concept of "bound branches", which I suspect would be essential in one particular instance of SVN that I'm keen to replace with something distributed but not totally anarchistic.
I think I'm going to keep Mercurial for my own personal use, for the sole reason that you can get a free private repository at bitbucket.org, but not at launchpad.net or GitHub. If launchpad were to offer the same, that would probably tip the balance towards Bazaar for me.
Mercurial grabbed me more than Git did. My first experience with Mercurial was very natural. Everything that I tried worked the first time in the way I first tried to do it. Git left me fumbling about and googling for answers, but I was able to acclimate quickly. Ultimately, I decided that I would need to use both: Mercurial for my own tastes, and Git just because it's the dominant player.
Bazaar looks like a strong competitor, even for Mercurial, in terms of usability.
'Then I noticed that "C-x v v C-c C-c" is enough to commit in CVS, but perhaps not in Bazaar.'
Wow.
Although it's not quite so daunting once you realise that C-x v is the version-control prefix, and 'v' is commit individual file. C-c C-c is just the command sequence to finish editing the commit message.
Once you leave apart the 'finish editing commit message' command, which is really a seperate task, C-x v v is arguably obtuse as a way of saying commit individual file, but on the other hand, C-x v as a prefix for all vcs related functions is easy enough to remember, and 'v' for commit individual file is easy enough to remember too.
In the microsoft world, 'C-x v v C-c C-c' would be replaced by a 10 page wizard most likely, and be far more irritating.
[Please note, I do not condone the use of empty commit messages, that's a heinous crime IMO]
Edit to add:
In my use of emacs with hg, I believe that that sequence will do exactly the same as it does under cvs, and it's reasonable to believe that the vcs-bazaar backend is no different either, so the complaint in the email is likely invalid.
C-c twice is used in several modes to mean "save and close out". It's also what you hit to send an e-mail you're composing, for example. Holding control and pressing c twice is pretty easy, just like whacking v twice for "next action". (C-c usually prefixes commands specific to the buffer's mode, such as "send the definition under the cursor to Python".)
If you ever forget any of this, you can type "C-x v" and then C-h (Help) and it will list all of the keyboard shortcuts prefixed by C-x v, i.e., all shortcuts related to version control. (I find VC shortcuts go straight to muscle memory, but just in case.)
What NikkiA says above about those five keystrokes being a 10 page wizard in other systems is spot-on.
That should be: "C-x v v <Type Commit Message> C-c C-c"