[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc.el
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc.el |
Date: |
Sun, 06 Jul 2003 13:28:12 -0400 |
Index: emacs/lisp/vc.el
diff -c emacs/lisp/vc.el:1.357 emacs/lisp/vc.el:1.358
*** emacs/lisp/vc.el:1.357 Mon Jun 30 06:34:26 2003
--- emacs/lisp/vc.el Sun Jul 6 13:28:12 2003
***************
*** 7,13 ****
;; Maintainer: Andre Spiegel <address@hidden>
;; Keywords: tools
! ;; $Id: vc.el,v 1.357 2003/06/30 10:34:26 rms Exp $
;; This file is part of GNU Emacs.
--- 7,13 ----
;; Maintainer: Andre Spiegel <address@hidden>
;; Keywords: tools
! ;; $Id: vc.el,v 1.358 2003/07/06 17:28:12 monnier Exp $
;; This file is part of GNU Emacs.
***************
*** 1738,1792 ****
(file-relative-name file-rel2))))
(vc-call diff file rel1 rel2))))
-
- (defcustom vc-stay-local t
- "*Non-nil means use local operations when possible for remote repositories.
- This avoids slow queries over the network and instead uses heuristics
- and past information to determine the current status of a file.
-
- The value can also be a regular expression or list of regular
- expressions to match against the host name of a repository; then VC
- only stays local for hosts that match it. Alternatively, the value
- can be a list of regular expressions where the first element is the
- symbol `except'; then VC always stays local except for hosts matched
- by these regular expressions."
- :type '(choice (const :tag "Always stay local" t)
- (const :tag "Don't stay local" nil)
- (list :format "\nExamine hostname and %v" :tag "Examine hostname ..."
- (set :format "%v" :inline t (const :format "%t" :tag "don't"
except))
- (regexp :format " stay local,\n%t: %v" :tag "if it matches")
- (repeat :format "%v%i\n" :inline t (regexp :tag "or"))))
- :version "21.4"
- :group 'vc)
-
- (defun vc-stay-local-p (file)
- "Return non-nil if VC should stay local when handling FILE.
- This uses the `repository-hostname' backend operation."
- (let* ((backend (vc-backend file))
- (sym (vc-make-backend-sym backend 'stay-local))
- (stay-local (if (boundp sym) (symbol-value sym) t)))
- (if (eq stay-local t) (setq stay-local vc-stay-local))
- (if (symbolp stay-local) stay-local
- (let ((dirname (if (file-directory-p file)
- (directory-file-name file)
- (file-name-directory file))))
- (eq 'yes
- (or (vc-file-getprop dirname 'vc-stay-local-p)
- (vc-file-setprop
- dirname 'vc-stay-local-p
- (let ((hostname (vc-call-backend
- backend 'repository-hostname dirname)))
- (if (not hostname)
- 'no
- (let ((default t))
- (if (eq (car-safe stay-local) 'except)
- (setq default nil stay-local (cdr stay-local)))
- (when (consp stay-local)
- (setq stay-local
- (mapconcat 'identity stay-local "\\|")))
- (if (if (string-match stay-local hostname)
- default (not default))
- 'yes 'no)))))))))))
(defun vc-switches (backend op)
(let ((switches
--- 1738,1743 ----
- [Emacs-diffs] Changes to emacs/lisp/vc.el,
Stefan Monnier <=