Emacs integration - an overview

Bryan O'Sullivan bos at serpentine.com
Tue Aug 23 16:36:48 CDT 2005


Someone asked on IRC yesterday what my Emacs integration code does.
Here's a short writeup of its capabilities.  This may be useful for
people contemplating vim support and whatnot.

If you're already familiar with Emacs, mercurial.el is similar to vc and
other packages that help with SCM tasks.

The code is already fully functional for local editing and SCM tasks.
What this means is that you can do the following:

      * See at a glance whether a file is under Mercurial control or
        not.  This is displayed in the modeline (think "status bar" if
        you don't use Emacs).
      * For a Mercurial-controlled file, tell whether it has been
        modified relative to the tip revision or is unchanged.  Also
        displayed in the modeline.
      * View and modify interesting properties of files and directories:
              * add
              * diff
              * forget
              * log
              * revert
              * status
      * Commit your changes.  Helps you to enter a commit message, use
        the mouse to pick files to include in or exclude from the
        commit, and view the diffs of the files you are about to commit.

All of these features currently work with both XEmacs and GNU Emacs on
Linux.  I have a patch from Jari Aalto that helps with Windows support,
which I'll cherry-pick bits from soon.

The documentation is already fairly decent.  Run `M-x hg-help-overview'
after you load the code to get an idea of how to interact with it.

Remaining features to implement are mostly the distributed features:

      * addremove
      * annotate
      * clone
      * incoming
      * init
      * outgoing
      * pull
      * push
      * update / merge
      * view specific revisions of files



More information about the Mercurial mailing list