From: Tom Tromey <tromey@redhat.com>
To: "Eric S. Raymond" <esr@snark.thyrsus.com>
Cc: emacs-devel@gnu.org
Subject: Re: Further VC tuning is blocked
Date: Sat, 05 Jan 2008 11:09:57 -0700 [thread overview]
Message-ID: <m363y8w3d6.fsf@fleche.redhat.com> (raw)
In-Reply-To: <m3fxxdvuyu.fsf@fleche.redhat.com> (Tom Tromey's message of "Fri\, 04 Jan 2008 19\:59\:05 -0700")
>>>>> "Tom" == Tom Tromey <tromey@redhat.com> writes:
Tom> Anyway, I think there's still a bit of room for improvement here. I
Tom> think it should be possible to invoke svn a single time for this
Tom> particular scenario.
This patch seems to achieve that.
I didn't update the svn status call in vc-svn-registered.
It doesn't seem needed.
I removed a call to buffer-disable-undo, because it doesn't do
anything and is just confusing -- temporary buffers have undo disabled
by default.
Unfortunately this barely speeds up my test case. It cut off 2
seconds, down to 318 :-(. Still, IMO it is worth applying.
Tom
2008-01-05 Tom Tromey <tromey@redhat.com>
* vc-svn.el (vc-svn-state): Pass --no-ignore to svn.
(vc-svn-dir-state): Likewise. Remove call to
buffer-disable-undo.
*** vc-svn.el 02 Jan 2008 16:11:33 -0700 1.59
--- vc-svn.el 05 Jan 2008 10:48:23 -0700
***************
*** 1,6 ****
;;; vc-svn.el --- non-resident support for Subversion version-control
! ;; Copyright (C) 2003, 2004, 2005, 2006, 2007 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Stefan Monnier <monnier@gnu.org>
--- 1,6 ----
;;; vc-svn.el --- non-resident support for Subversion version-control
! ;; Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008 Free Software Foundation, Inc.
;; Author: FSF (see vc.el for full credits)
;; Maintainer: Stefan Monnier <monnier@gnu.org>
***************
*** 139,145 ****
(setq localp (or localp (vc-stay-local-p file)))
(with-temp-buffer
(cd (file-name-directory file))
! (vc-svn-command t 0 file "status" (if localp "-v" "-u"))
(vc-svn-parse-status file)))
(defun vc-svn-state-heuristic (file)
--- 139,145 ----
(setq localp (or localp (vc-stay-local-p file)))
(with-temp-buffer
(cd (file-name-directory file))
! (vc-svn-command t 0 file "status" (if localp "-v" "-u") "--no-ignore")
(vc-svn-parse-status file)))
(defun vc-svn-state-heuristic (file)
***************
*** 153,160 ****
;; Don't specify DIR in this command, the default-directory is
;; enough. Otherwise it might fail with remote repositories.
(with-temp-buffer
! (buffer-disable-undo) ;; Because these buffers can get huge
! (vc-svn-command t 0 nil "status" (if localp "-v" "-u"))
(vc-svn-parse-status))))
(defun vc-svn-working-revision (file)
--- 153,159 ----
;; Don't specify DIR in this command, the default-directory is
;; enough. Otherwise it might fail with remote repositories.
(with-temp-buffer
! (vc-svn-command t 0 nil "status" (if localp "-v" "-u") "--no-ignore")
(vc-svn-parse-status))))
(defun vc-svn-working-revision (file)
prev parent reply other threads:[~2008-01-05 18:09 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-01-04 13:17 Further VC tuning is blocked Eric S. Raymond
2008-01-04 17:37 ` Dan Nicolaescu
2008-01-04 18:08 ` Eric S. Raymond
2008-01-05 2:59 ` Tom Tromey
2008-01-05 18:09 ` Tom Tromey [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=m363y8w3d6.fsf@fleche.redhat.com \
--to=tromey@redhat.com \
--cc=emacs-devel@gnu.org \
--cc=esr@snark.thyrsus.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.