comparison lisp/vc-svn.el @ 90667:dbe3f29e61d6

Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 505-522) - Update from CVS - Merge from gnus--rel--5.10 - Update from CVS: etc/TUTORIAL.cn: Updated. - Merge from erc--emacs--22 * gnus--rel--5.10 (patch 164-167) - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-137
author Miles Bader <miles@gnu.org>
date Tue, 21 Nov 2006 08:56:38 +0000
parents 7eeafaaa9eab 299d3322c8be
children 95d0cdf160ea
comparison
equal deleted inserted replaced
90666:00d54c8fa693 90667:dbe3f29e61d6
93 ;; :type 'boolean 93 ;; :type 'boolean
94 ;; :version "22.1" 94 ;; :version "22.1"
95 ;; :group 'vc 95 ;; :group 'vc
96 ) 96 )
97 97
98 (defvar vc-svn-admin-directory
99 (cond ((and (eq system-type 'windows-nt)
100 (getenv "SVN_ASP_DOT_NET_HACK"))
101 "_svn")
102 (t ".svn"))
103 "The name of the \".svn\" subdirectory or its equivalent.")
104
98 ;;; 105 ;;;
99 ;;; State-querying functions 106 ;;; State-querying functions
100 ;;; 107 ;;;
101 108
109 ;;; vc-svn-admin-directory is generally not defined when the
110 ;;; autoloaded function is called.
111
102 ;;;###autoload (defun vc-svn-registered (f) 112 ;;;###autoload (defun vc-svn-registered (f)
103 ;;;###autoload (when (file-readable-p (expand-file-name 113 ;;;###autoload (let ((admin-dir (cond ((and (eq system-type 'windows-nt)
104 ;;;###autoload ".svn/entries" (file-name-directory f))) 114 ;;;###autoload (getenv "SVN_ASP_DOT_NET_HACK"))
115 ;;;###autoload "_svn")
116 ;;;###autoload (t ".svn"))))
117 ;;;###autoload (when (file-readable-p (expand-file-name
118 ;;;###autoload (concat admin-dir "/entries")
119 ;;;###autoload (file-name-directory f)))
105 ;;;###autoload (load "vc-svn") 120 ;;;###autoload (load "vc-svn")
106 ;;;###autoload (vc-svn-registered f))) 121 ;;;###autoload (vc-svn-registered f))))
107 122
108 ;;;###autoload 123 ;;;###autoload
109 (add-to-list 'completion-ignored-extensions ".svn/") 124 (add-to-list 'completion-ignored-extensions ".svn/")
110 125
111 (defun vc-svn-registered (file) 126 (defun vc-svn-registered (file)
112 "Check if FILE is SVN registered." 127 "Check if FILE is SVN registered."
113 (when (file-readable-p (expand-file-name ".svn/entries" 128 (when (file-readable-p (expand-file-name (concat vc-svn-admin-directory
129 "/entries")
114 (file-name-directory file))) 130 (file-name-directory file)))
115 (with-temp-buffer 131 (with-temp-buffer
116 (cd (file-name-directory file)) 132 (cd (file-name-directory file))
117 (let ((status 133 (let ((status
118 (condition-case nil 134 (condition-case nil
204 the SVN command (in that order)." 220 the SVN command (in that order)."
205 (apply 'vc-svn-command nil 0 file "add" (vc-switches 'SVN 'register))) 221 (apply 'vc-svn-command nil 0 file "add" (vc-switches 'SVN 'register)))
206 222
207 (defun vc-svn-responsible-p (file) 223 (defun vc-svn-responsible-p (file)
208 "Return non-nil if SVN thinks it is responsible for FILE." 224 "Return non-nil if SVN thinks it is responsible for FILE."
209 (file-directory-p (expand-file-name ".svn" 225 (file-directory-p (expand-file-name vc-svn-admin-directory
210 (if (file-directory-p file) 226 (if (file-directory-p file)
211 file 227 file
212 (file-name-directory file))))) 228 (file-name-directory file)))))
213 229
214 (defalias 'vc-svn-could-register 'vc-svn-responsible-p 230 (defalias 'vc-svn-could-register 'vc-svn-responsible-p
472 (defun vc-svn-repository-hostname (dirname) 488 (defun vc-svn-repository-hostname (dirname)
473 (with-temp-buffer 489 (with-temp-buffer
474 (let ((coding-system-for-read 490 (let ((coding-system-for-read
475 (or file-name-coding-system 491 (or file-name-coding-system
476 default-file-name-coding-system))) 492 default-file-name-coding-system)))
477 (vc-insert-file (expand-file-name ".svn/entries" dirname))) 493 (vc-insert-file (expand-file-name (concat vc-svn-admin-directory
494 "/entries")
495 dirname)))
478 (goto-char (point-min)) 496 (goto-char (point-min))
479 (when (re-search-forward 497 (when (re-search-forward
480 ;; Old `svn' used name="svn:dir", newer use just name="". 498 ;; Old `svn' used name="svn:dir", newer use just name="".
481 (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*" 499 (concat "name=\"\\(?:svn:this_dir\\)?\"[\n\t ]*"
482 "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?" 500 "\\(?:[-a-z]+=\"[^\"]*\"[\n\t ]*\\)*?"