When moving from subversion to a DVCS around 2006, we evaluated git, bazaar (now breezy), and mercurial. This was before github, and git was really tied to the development style of the linux kernel. I can't remember exactly what issues we had with mercurial, but everyone in the group loved bazaar.<p>It has a very simple and easy to understand model. It was comfortable to those used to a more centralized style (like csv/svn), but gave you offline commits/history, branching, excellent merging, and good tools to look at history.<p>All developers needed to know where: checkout, pull, commit, push, diff, log, and merge. It worked on _all_ platforms, new people to version control never struggled with it, and tools like Tortoise and Trac supported it. There was no confusion about remotes, detached heads, or anything like that.<p>Unfortunately, by 2010-2012, it was clear that git was going to be the winner, and our younger developers wanted to use it and github. We did eventually migrate all projects to git.<p>I still have some personal projects that I use breezy with, although, all new projects I use git now.<p>One of my favorite aspects is how it shows history and merging. `bzr log` only shows commits directly on that branch. So if you are looking at the master branch that has commits A, B, and C, if someone goes off and works on D and makes commits D1, D2, D3, when D is merged into master, you now just see A -> B -> C -> D, where D is everything from D1+D2+D3. You can off course break down D into its sub-commits (and sub-merges, like when you merge master back into a branch), but as a default, this leads to a really clean history. No arguments over squashing / rebasing / FF-only / merge-commits, etc.