Subject: Re: VC mark-resolved

From: Dan Nicolaescu <[email-masked]>
Date: Wed, 24 Sep 2008 13:43:02 -0700 (PDT)

Chong Yidong <[email-masked]> writes:

  > Stefan Monnier <[email-masked]> writes:
  > 
  > >>> > > CVS is hardly alone.  In fact, it seems that no other back-end
  > >>> > > implements the mark-resolved action: I tried grepping for
  > >>> > > `mark-resolved' in the vc-*.el files and came up with nothing.
  > >>> > 
  > >>> > There should be a (defalias 'vc-cvs-mark-resolved 'ignore)
  > >>> > Or maybe even (defalias 'vc-default-mark-resolved 'ignore).
  > >>> > But in any case, it seems like the mark-resolved thingy was not
  > >>> > fully implemented if none of the backends define it.
  > >>> 
  > >>> Yep, a pointer to a relevant discussion: 
  > >>> http://article.gmane.org/gmane.emacs.devel/94816
  > >
  > >> I checked in a new function, vc-default-mark-resolved, into vc.el.  It
  > >> does nothing except issue a message saying the conflict is resolved.
  > >> Someone else can write the vc-*-mark-resolved functions at a later date;
  > >> for now, at least `C-x v v' doesn't get stuck at the error.
  > >
  > > Thank you.  It shouldn't issue a message, tho: if we want it, we'd want
  > > it in the backend-independent part of the code.
  > 
  > If it doesn't issue a message, then there would be no feedback to the
  > user that `C-x v v' did anything.  That could be confusing.

Does this happen for any other VC backend besides CVS?  

I think (but I can't check at the moment) this only happens because the
backend does not notice the VC state transition, it should not think
that there is a conflict after it has been resolved.
Maybe it's not too hard to test this theory: just make vc-stay-local-p
always return nil and see what happens...