From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Dan Nicolaescu Newsgroups: gmane.emacs.devel Subject: Re: New VC mode -- review request Date: Wed, 03 Oct 2007 17:42:01 -0700 Message-ID: <200710040042.l940g1B6012034@oogie-boogie.ics.uci.edu> References: <20071003103501.GA4997@thyrsus.com> <200710031431.l93EVfFZ021233@oogie-boogie.ics.uci.edu> <20071003170048.GB7014@thyrsus.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1191458617 8905 80.91.229.12 (4 Oct 2007 00:43:37 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 4 Oct 2007 00:43:37 +0000 (UTC) Cc: emacs-devel@gnu.org To: esr@thyrsus.com Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Oct 04 02:43:34 2007 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IdEoN-0000El-4v for ged-emacs-devel@m.gmane.org; Thu, 04 Oct 2007 02:43:31 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IdEoI-00067q-SV for ged-emacs-devel@m.gmane.org; Wed, 03 Oct 2007 20:43:26 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1IdEoG-00067l-Tt for emacs-devel@gnu.org; Wed, 03 Oct 2007 20:43:24 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1IdEoD-00067Z-5b for emacs-devel@gnu.org; Wed, 03 Oct 2007 20:43:23 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1IdEoD-00067W-39 for emacs-devel@gnu.org; Wed, 03 Oct 2007 20:43:21 -0400 Original-Received: from oogie-boogie.ics.uci.edu ([128.195.1.41]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1IdEoC-000467-Mz for emacs-devel@gnu.org; Wed, 03 Oct 2007 20:43:20 -0400 Original-Received: from mothra.ics.uci.edu (mothra.ics.uci.edu [128.195.6.93]) by oogie-boogie.ics.uci.edu (8.13.6/8.13.6) with ESMTP id l940g1B6012034; Wed, 3 Oct 2007 17:42:01 -0700 (PDT) In-Reply-To: <20071003170048.GB7014@thyrsus.com> (Eric S. Raymond's message of "Wed\, 3 Oct 2007 13\:00\:48 -0400") Original-Lines: 67 X-ICS-MailScanner: Found to be clean X-ICS-MailScanner-SpamCheck: not spam, SpamAssassin (score=-1.44, required 5, autolearn=disabled, ALL_TRUSTED -1.44) X-ICS-MailScanner-From: dann@mothra.ics.uci.edu X-Detected-Kernel: Solaris 9 X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:80211 Archived-At: "Eric S. Raymond" writes: > Dan Nicolaescu : > > > 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.