[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Further VC tuning is blocked
From: |
Tom Tromey |
Subject: |
Re: Further VC tuning is blocked |
Date: |
Sat, 05 Jan 2008 11:09:57 -0700 |
User-agent: |
Gnus/5.11 (Gnus v5.11) Emacs/22.0.990 (gnu/linux) |
>>>>> "Tom" == Tom Tromey <address@hidden> 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 <address@hidden>
* 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 <address@hidden>
--- 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 <address@hidden>
***************
*** 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)