It seems that there are a lot of different ways to work with Mercurial from within Emacs. (In case it matters, I'm using Emacs 24.1.1 and Mercurial 2.5.2 on Ubuntu 12.10.) I have found the following possibilities:
mercurial.el, provided with the Mercurial package. This was developed under XEmacs, and it says that it may be less useful in GNU Emacs because vc-mode supports Mercurial directly as of version 22.3.
- Emacs vc-mode. However, the linked page says that the push and pull operations are broken as of Emacs version 23.2.1. I tried this out a little bit, and indeed I could not see any way to push to or pull from my repository, although the other features seemed to work ok.
- DVC, another Emacs mode that claims to be better suited to distributed version control systems such as Mercurial.
- Monky, don't know anything about this one.
- aHg. I tried this out once a couple of years ago briefly and quit using it, but I don't remember why.
I have been using Mercurial just from the command line, but I'd really like to be able to integrate this into my Emacs workflow. I am overwhelmed with the possibilities and not sure what works and what doesn't with each solution.
What is the best way to use Mercurial from within Emacs?