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.
Related Posts
I've heard of 'blub languages', where you don't realise that other languages have better abstractions until you've experienced them.
I think the same thing happens with individual features. I've seen several C++ folks miss variadic generics in Rust, but I've not written enough C++ to feel it.
I'm experimenting with jj this weekend. It seems pretty nice so far, but the mental model is pretty different from git.
For example, there's no `checkout` command. You do `jj new ABC` to switch to a commit, which creates a new empty commit on top of ABC.
Ooh, difftastic is now listed on the official git website! https://git-scm.com/tools/command-line