# HG changeset patch # User Masatake YAMATO # Date 1181936447 0 # Node ID 774e9d2142bd5db15f4ee5cf31497c82f4fefe71 # Parent 4d58251a76e14fe0147b8e083d6106871b9be22e * vc-bzr.el (vc-bzr-root): Cache the output of shell command execution. diff -r 4d58251a76e1 -r 774e9d2142bd lisp/ChangeLog --- a/lisp/ChangeLog Fri Jun 15 18:50:19 2007 +0000 +++ b/lisp/ChangeLog Fri Jun 15 19:40:47 2007 +0000 @@ -1,6 +1,9 @@ 2007-06-15 Masatake YAMATO - * vc.el (vc-dired-hook): check the backend returned from + * vc-bzr.el (vc-bzr-root): Cache the output of shell command + execution. + + * vc.el (vc-dired-hook): Check the backend returned from `vc-responsible-backend' can really handle `subdir'. 2007-06-15 Chong Yidong diff -r 4d58251a76e1 -r 774e9d2142bd lisp/vc-bzr.el --- 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