I've been enjoying using Mercurial overall: I've found its abstractions pretty straightforward to learn, and it has all the staging, squashing features I like in git. I do miss git's Committer vs Author though. Mercurial doesn't show who rebased your commit and modified it.