aboutsummaryrefslogtreecommitdiffstats
path: root/lisp
diff options
context:
space:
mode:
authorChong Yidong <[email protected]>2006-11-09 03:14:51 +0000
committerChong Yidong <[email protected]>2006-11-09 03:14:51 +0000
commit9a25258f0f0e40ec608641edd522d9df8d870c1f (patch)
tree409f2c8919b1b089d7c5f578146048419a729f4f /lisp
parent8f65162b5ddd3ef5766ac664b85f8b1a2675eff7 (diff)
(vc-svn-admin-directory): New var.
(vc-svn-registered, vc-svn-responsible-p) (vc-svn-repository-hostname): Use it. Suggested by [email protected].
Diffstat (limited to 'lisp')
-rw-r--r--lisp/vc-svn.el30
1 files changed, 24 insertions, 6 deletions
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index c48ce7a5f9..68bbc5b397 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -95,22 +95,38 @@ This is only meaningful if you don't use the implicit checkout model
;; :group 'vc
)
+(defvar vc-svn-admin-directory
+ (cond ((and (eq system-type 'windows-nt)
+ (getenv "SVN_ASP_DOT_NET_HACK"))
+ "_svn")
+ (t ".svn"))
+ "The name of the \".svn\" subdirectory or its equivalent.")
+
;;;
;;; State-querying functions
;;;
+;;; vc-svn-admin-directory is generally not defined when the
+;;; autoloaded function is called.
+
;;;###autoload (defun vc-svn-registered (f)
-;;;###autoload (when (file-readable-p (expand-file-name
-;;;###autoload ".svn/entries" (file-name-directory f)))
+;;;###autoload (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
+;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK"))
+;;;###autoload "_svn")
+;;;###autoload (t ".svn"))))
+;;;###autoload (when (file-readable-p (expand-file-name
+;;;###autoload (concat admin-dir "/entries"))
+;;;###autoload (file-name-directory f))
;;;###autoload (load "vc-svn")
-;;;###autoload (vc-svn-registered f)))
+;;;###autoload (vc-svn-registered f))))
;;;###autoload
(add-to-list 'completion-ignored-extensions ".svn/")
(defun vc-svn-registered (file)
"Check if FILE is SVN registered."
- (when (file-readable-p (expand-file-name ".svn/entries"
+ (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory
+ "/entries")
(file-name-directory file)))
(with-temp-buffer
(cd (file-name-directory file))
@@ -206,7 +222,7 @@ the SVN command (in that order)."
(defun vc-svn-responsible-p (file)
"Return non-nil if SVN thinks it is responsible for FILE."
- (file-directory-p (expand-file-name ".svn"
+ (file-directory-p (expand-file-name vc-svn-admin-directory
(if (file-directory-p file)
file
(file-name-directory file)))))
@@ -474,7 +490,9 @@ and that it passes `vc-svn-global-switches' to it before FLAGS."
(let ((coding-system-for-read
(or file-name-coding-system
default-file-name-coding-system)))
- (vc-insert-file (expand-file-name ".svn/entries" dirname)))
+ (vc-insert-file (expand-file-name (concat vc-svn-admin-directory
+ "/entries")
+ dirname)))
(goto-char (point-min))
(when (re-search-forward
;; Old `svn' used name="svn:dir", newer use just name="".