New vc and Mercurial (hg)?

Ville Skyttä scop at xemacs.org
Fri Nov 2 05:42:51 EDT 2007


On Friday 02 November 2007, FKtPp wrote:
> On Thu, Nov 01, 2007 at 06:16:03PM -0500, skip at pobox.com wrote:
> > It appears there is some support in the new vc for Mercurial (hg).
> > When I visit a file I see a mercurial library is loaded.  Alas,
> > ediff commands seem not to work (e.g. ediff-revision claims the file
> > I'm visiting isn't under version control).  Are these problems
> > known?
>
> And if I 'C-x v v' on a already up to date vc-hg version controled
> file, I will be prompt to create a rcs subdirectory....
>
> Is this a bug?

Even though the behaviour is unexpected at times, neither of the above are 
actually bugs.  The new vc package's Mercurial support comes from 
mercurial.el which is a "standalone" Mercurial support mode with similar 
functionality as vc, but it's not a real vc backend, so not all vc related 
features are available with it.

For example, in the above scenario 1, ediff uses various vc-* functions, and 
since those know nothing about mercurial.el, the result is that as far as 
they're concerned, the file is not under version control.  Ditto "C-x v v" in 
scenario 2 - that's still bound to vc-next-action even when viewing a 
Mercurial controlled file (mercurial.el doesn't map that sequence to 
anything), and vc-next-action doesn't know about mercurial.el so it picks its 
fallback action which supposedly is to register the file in RCS.

At the time I was looking for Mercurial support for XEmacs, mercurial.el was 
practically the only "production ready" thing or even close to it that I 
could find.  Nowadays there's a real mercurial backend (vc-hg.el) in GNU 
Emacs CVS; I haven't looked at what it offers, but it's under GPLv3+ so I 
don't think we could import it into the XEmacs packages tree currently 
anyway.



More information about the XEmacs-Beta mailing list