On related topic, Kiln (from Fog Creek / Stack Overflow guys) announced support for parallel Hg and Git repos. So every repo can be accessed with either Hg or Git clients. Sounds to me like a migration path from Hg to Git for their users.
When you have Git and Mercurial, Bazaar is simply redundant.
Bazaar has some important features:
- Serverless operation. All you need to make a public repository is an SSH or FTP account. (Hg apparently also has this.)
- Centralized mode and bound branches. You can still have a centralized repository like in SVN and work in branches on major features, which is actually the most useful model to the vast majority of projects.
- Commands which are understandable to the average human. Git requires several aliases to approach sensible behavior, encourages partial commits of uncompiled, untested code, and silently commits merges if there are no text conflicts (great recipe for breaking the build). Trying to learn Git commands from the manual is an impossible task. For example, "git push" is describes as "Update remote refs along with associated objects" - what the f*** is this supposed to mean???
Bazaar is IMO the best tool to use in environments such as scientific programming, where the collaborators are not willing to spend a week learning how to use Git without accidentally destroying their work, and you might have no control over your server.