emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: New VC mode -- review request


From: Dan Nicolaescu
Subject: Re: New VC mode -- review request
Date: Wed, 03 Oct 2007 17:42:01 -0700

"Eric S. Raymond" <address@hidden> writes:

  > Dan Nicolaescu <address@hidden>:
  > >   > Here are the user-visible changes you should expect relative to what's
  > >   > in the manual:
  > >   > 
  > >   > * The following commands now operate on filesets rather than files.  
  > >   > 
  > >   >         vc-next-action = C-x v v
  > >   >         vc-diff = C-x v =
  > >   >         vc-print-log = C-x v l 
  > >   >         vc-revert = C-x v u
  > > 
  > > This does not seem to work for me from vc-dired. I have 2 changed
  > > files in a Mercurial. After marking both of them in vc-dired and
  > > pressing 
  > > v u
  > > I get this error "Please kill or save all modified buffers before
  > > reverting".
  > > None of the files is in an emacs buffer.
  > 
  > Hm.  I wonder if this is a problem with the hg back end -- I haven't 
  > tested that.  Can you duplicate this behavior with any other back end?
  > I'll stare at the code around that error message for a bit when I do
  > the merge with top of trunk.

The same thing happens with RCS. 

  > >   >         vc-rollback = C-x v c
  > > 
  > > Do you have an implementation for this function for any backend? It
  > > would be interesting to see it.
  > 
  > There is one for SCCS in old VC if you want to look at it.  I think I
  > at one point implemented it for one other backend, but the code and
  > concept were so dodgy that I decided it was best shot through the
  > head.  
  > 
  > Sorry, I don't remember which other back end I implemented it for.  I
  > do know that most VCSes cannot support this operation at all, it's
  > really an SCCSism that got baked into old VC's design by historical
  > accident.

OK, thanks, I was trying to see if it would be interesting to try to
support such on operation on modern VCSes...

  > > This code in vc-dired-hook:
  > > 
  > >          ;; ordinary file
  > >          ((and (vc-backend filename)
  > >                 (not (and vc-dired-terse-mode
  > >                            (vc-up-to-date-p filename))))
  > >           (vc-dired-reformat-line (vc-call dired-state-info filename))
  > >           (forward-line 1))
  > > 
  > > Is the vc-backend call necessary? It ends up calling vc-registered and
  > > that can be expensive for the backends that run a program to determine
  > > the registered state. The -dir-state method computes the state for
  > > most (all?)  files...
  > > I don't understand this code very well, but if it can be simplified,
  > > it might result in a significant speedup for vc-dired.
  > 
  > You're right, it might.  I'm not going to change this immediately, it will 
take
  > a little thought and testing, but it's going on my to-do list.

Note to other reviewers: the code above is not new, so doing this
should not affect getting the fileset changes in.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]