[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] Changes to emacs/lisp/vc-hooks.el,v [EMACS_22_BASE]

From: Glenn Morris
Subject: [Emacs-diffs] Changes to emacs/lisp/vc-hooks.el,v [EMACS_22_BASE]
Date: Thu, 17 May 2007 07:38:11 +0000

CVSROOT:        /sources/emacs
Module name:    emacs
Branch:         EMACS_22_BASE
Changes by:     Glenn Morris <gm>       07/05/17 07:38:11

Index: vc-hooks.el
RCS file: /sources/emacs/emacs/lisp/vc-hooks.el,v
retrieving revision
retrieving revision
diff -u -b -r1.182.2.1 -r1.182.2.2
--- vc-hooks.el 28 Apr 2007 14:08:58 -0000
+++ vc-hooks.el 17 May 2007 07:38:11 -0000
@@ -315,10 +315,17 @@
   ;; Represent /home/luser/foo as ~/foo so that we don't try to look for
   ;; witnesses in /home or in /.
   (setq file (abbreviate-file-name file))
-  (let ((root nil))
+  (let ((root nil)
+        (user (nth 2 (file-attributes file))))
     (while (not (or root
                    (equal file (setq file (file-name-directory file)))
                    (null file)
+                   ;; As a heuristic, we stop looking up the hierarchy of
+                   ;; directories as soon as we find a directory belonging
+                   ;; to another user.  This should save us from looking in
+                   ;; things like /net and /afs.  This assumes that all the
+                   ;; files inside a project belong to the same user.
+                   (not (equal user (file-attributes file)))
                    (string-match vc-ignore-dir-regexp file)))
       (if (file-exists-p (expand-file-name witness file))
          (setq root file)

reply via email to

[Prev in Thread] Current Thread [Next in Thread]