I had another sentence in my post that I edited out that was a caveat to Mercurial: at least it's possible to get the 'git revert' behavior with hg without implementing it yourself from a patch-series dump.
To me, revert means "stage a new commit that reverts this commit in the history as if it never existed".
When I first used svn, I really expected 'revert' to mean "revert this commit". I also 'intuitively' expected it to have something like git's index, and ended up just working around that by just laboriously creating my own set of patches to feed it in another checkout. Not everyone's mental models line up — we are both free to consider one another as a moron (see also: politics, religion).
To me, revert means "stage a new commit that reverts this commit in the history as if it never existed".
When I first used svn, I really expected 'revert' to mean "revert this commit". I also 'intuitively' expected it to have something like git's index, and ended up just working around that by just laboriously creating my own set of patches to feed it in another checkout. Not everyone's mental models line up — we are both free to consider one another as a moron (see also: politics, religion).