emacs-diffs
[Top][All Lists]
Advanced

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

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


From: Stefan Monnier
Subject: [Emacs-diffs] Changes to emacs/lisp/vc-hooks.el
Date: Mon, 13 Sep 2004 08:37:24 -0400

Index: emacs/lisp/vc-hooks.el
diff -c emacs/lisp/vc-hooks.el:1.168 emacs/lisp/vc-hooks.el:1.169
*** emacs/lisp/vc-hooks.el:1.168        Fri Apr 23 21:01:07 2004
--- emacs/lisp/vc-hooks.el      Mon Sep 13 03:36:11 2004
***************
*** 1,6 ****
  ;;; vc-hooks.el --- resident support for version-control
  
! ;; Copyright (C) 1992,93,94,95,96,98,99,2000,03,2004
  ;;           Free Software Foundation, Inc.
  
  ;; Author:     FSF (see vc.el for full credits)
--- 1,6 ----
  ;;; vc-hooks.el --- resident support for version-control
  
! ;; Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2003, 2004
  ;;           Free Software Foundation, Inc.
  
  ;; Author:     FSF (see vc.el for full credits)
***************
*** 52,57 ****
--- 52,63 ----
  (defvar vc-header-alist ())
  (make-obsolete-variable 'vc-header-alist 'vc-BACKEND-header)
  
+ (defvar vc-ignore-dir-regexp "\\`\\([\\/][\\/]\\|/net/\\|/afs/\\)\\'"
+  "Regexp matching directory names that are not under VC's control.
+ The default regexp prevents fruitless and time-consuming attempts
+ to determine the VC status in directories in which filenames are
+ interpreted as hostnames.")
+ 
  (defcustom vc-handled-backends '(RCS CVS SVN SCCS Arch MCVS)
    ;; Arch and MCVS come last because they are per-tree rather than per-dir.
    "*List of version control backends for which VC will be used.
***************
*** 298,303 ****
--- 304,323 ----
      (set-buffer-modified-p nil)
      t))
  
+ (defun vc-find-root (file witness)
+   "Find the root of a checked out project.
+ The function walks up the directory tree from FILE looking for WITNESS.
+ If WITNESS if not found, return nil, otherwise return the root."
+   (let ((root nil))
+     (while (not (or root
+                    (equal file (setq file (file-name-directory file)))
+                    (null file)
+                    (string-match vc-ignore-dir-regexp file)))
+       (if (file-exists-p (expand-file-name witness file))
+          (setq root file)
+        (setq file (directory-file-name file))))
+     root))
+ 
  ;; Access functions to file properties
  ;; (Properties should be _set_ using vc-file-setprop, but
  ;; _retrieved_ only through these functions, which decide
***************
*** 315,325 ****
  file was previously registered under a certain backend, then that
  backend is tried first."
    (let (handler)
!     (if (boundp 'file-name-handler-alist)
!       (setq handler (find-file-name-handler file 'vc-registered)))
!     (if handler
!         ;; handler should set vc-backend and return t if registered
!       (funcall handler 'vc-registered file)
        ;; There is no file name handler.
        ;; Try vc-BACKEND-registered for each handled BACKEND.
        (catch 'found
--- 335,347 ----
  file was previously registered under a certain backend, then that
  backend is tried first."
    (let (handler)
!     (cond
!      ((string-match vc-ignore-dir-regexp (file-name-directory file)) nil)
!      ((and (boundp 'file-name-handler-alist)
!           (setq handler (find-file-name-handler file 'vc-registered)))
!       ;; handler should set vc-backend and return t if registered
!       (funcall handler 'vc-registered file))
!      (t
        ;; There is no file name handler.
        ;; Try vc-BACKEND-registered for each handled BACKEND.
        (catch 'found
***************
*** 334,340 ****
             (cons backend vc-handled-backends))))
          ;; File is not registered.
          (vc-file-setprop file 'vc-backend 'none)
!         nil))))
  
  (defun vc-backend (file)
    "Return the version control type of FILE, nil if it is not registered."
--- 356,362 ----
             (cons backend vc-handled-backends))))
          ;; File is not registered.
          (vc-file-setprop file 'vc-backend 'none)
!         nil)))))
  
  (defun vc-backend (file)
    "Return the version control type of FILE, nil if it is not registered."
***************
*** 869,873 ****
  
  (provide 'vc-hooks)
  
! ;;; arch-tag: 2e5a6fa7-1d30-48e2-8bd0-e3d335f04f32
  ;;; vc-hooks.el ends here
--- 891,895 ----
  
  (provide 'vc-hooks)
  
! ;; arch-tag: 2e5a6fa7-1d30-48e2-8bd0-e3d335f04f32
  ;;; vc-hooks.el ends here




reply via email to

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