In the debate between Mercurial and Git, I’ve long held the side of Mercurial. This is mostly due to the fact that Mercurial’s commands are far easier to understand, but I’ve also liked the fact that Mercurial doesn’t encourage rewriting a repository’s history as much as Git does. This has encouraged me to seek to use Mercurial as my favored DVCS, but that’s now changing.
Mercurial has a tremendous advantage in that it’s command structure is easier to understand. I’ve enjoyed this feature having come from SVN, and every time I have to use Git, it makes me want to scream (and has literally made me do so one a few occasions). The usability of the command line is severely relegated when one starts to use tooling present in IDEs, file browsers, and other UIs. In this case, one needs only to go to the command line for very advance operations, in which case both DVCSs require looking up the command structure to understand how to accomplish the task.