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