Mercurial > emacs
diff lisp/vc-bzr.el @ 81446:774e9d2142bd
* vc-bzr.el (vc-bzr-root): Cache the output of shell command execution.
author | Masatake YAMATO <jet@gyve.org> |
---|---|
date | Fri, 15 Jun 2007 19:40:47 +0000 |
parents | a5186dc625d4 |
children | 92dd41bc6130 |
line wrap: on
line diff
--- a/lisp/vc-bzr.el Fri Jun 15 18:50:19 2007 +0000 +++ b/lisp/vc-bzr.el Fri Jun 15 19:40:47 2007 +0000 @@ -463,8 +463,12 @@ ;; if there are any symbolic links. (defun vc-bzr-root (dir) "Return the root directory of the bzr repository containing DIR." - (substring - (shell-command-to-string (concat vc-bzr-program " root " dir)) 0 -1)) + ;; Cache technique copied from vc-arch.el. + (or (vc-file-getprop dir 'bzr-root) + (vc-file-setprop + dir 'bzr-root + (substring + (shell-command-to-string (concat vc-bzr-program " root " dir)) 0 -1)))) ;; TODO: it would be nice to mark the conflicted files in VC Dired, ;; and implement a command to run ediff and `bzr resolve' once the