summaryrefslogtreecommitdiff
path: root/lisp/vc-svn.el
diff options
context:
space:
mode:
authorKaroly Lorentey <lorentey@elte.hu>2006-12-03 12:25:18 +0000
committerKaroly Lorentey <lorentey@elte.hu>2006-12-03 12:25:18 +0000
commitd6e01aa592f7326dffeafa6e97180a1cc39fe7ea (patch)
tree5a22b785cfee1d77d6452607450a12ca82eeecd3 /lisp/vc-svn.el
parent14bcc1e098410087a837313e2fc822319ff2e8ca (diff)
parent4975e69596a64247e8995d1ff9084b98a9a5ed0d (diff)
downloademacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.tar.gz
emacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.tar.bz2
emacs-d6e01aa592f7326dffeafa6e97180a1cc39fe7ea.zip
Merged from emacs@sv.gnu.org.
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-479 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-480 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-481 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-482 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-483 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-484 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-485 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-153 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-154 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-155 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-585
Diffstat (limited to 'lisp/vc-svn.el')
-rw-r--r--lisp/vc-svn.el21
1 files changed, 11 insertions, 10 deletions
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index 6d27c5c6a7e..c48ce7a5f99 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -125,8 +125,7 @@ This is only meaningful if you don't use the implicit checkout model
;; an `error' by vc-do-command.
(error nil))))
(when (eq 0 status)
- (vc-svn-parse-status t)
- (eq 'SVN (vc-file-getprop file 'vc-backend)))))))
+ (vc-svn-parse-status file))))))
(defun vc-svn-state (file &optional localp)
"SVN-specific version of `vc-state'."
@@ -134,8 +133,7 @@ This is only meaningful if you don't use the implicit checkout model
(with-temp-buffer
(cd (file-name-directory file))
(vc-svn-command t 0 file "status" (if localp "-v" "-u"))
- (vc-svn-parse-status localp)
- (vc-file-getprop file 'vc-state)))
+ (vc-svn-parse-status file)))
(defun vc-svn-state-heuristic (file)
"SVN-specific state heuristic."
@@ -149,7 +147,7 @@ This is only meaningful if you don't use the implicit checkout model
;; enough. Otherwise it might fail with remote repositories.
(with-temp-buffer
(vc-svn-command t 0 nil "status" (if localp "-v" "-u"))
- (vc-svn-parse-status localp))))
+ (vc-svn-parse-status))))
(defun vc-svn-workfile-version (file)
"SVN-specific version of `vc-workfile-version'."
@@ -488,10 +486,10 @@ and that it passes `vc-svn-global-switches' to it before FLAGS."
;; behavior for different modules on the same server.
(match-string 1))))
-(defun vc-svn-parse-status (localp)
+(defun vc-svn-parse-status (&optional filename)
"Parse output of \"svn status\" command in the current buffer.
-Set file properties accordingly. Unless FULL is t, parse only
-essential information."
+Set file properties accordingly. Unless FILENAME is non-nil, parse only
+information about FILENAME and return its status."
(let (file status)
(goto-char (point-min))
(while (re-search-forward
@@ -500,7 +498,9 @@ essential information."
(buffer-substring (point) (line-end-position))))
(setq status (char-after (line-beginning-position)))
(unless (eq status ??)
- (vc-file-setprop file 'vc-backend 'SVN)
+ ;; `vc-BACKEND-registered' must not set vc-backend,
+ ;; which is instead set in vc-registered.
+ (unless filename (vc-file-setprop file 'vc-backend 'SVN))
;; Use the last-modified revision, so that searching in vc-print-log
;; output works.
(vc-file-setprop file 'vc-workfile-version (match-string 3))
@@ -522,7 +522,8 @@ essential information."
(if (eq (char-after (match-beginning 1)) ?*)
'needs-merge
'edited))
- (t 'edited)))))))
+ (t 'edited)))))
+ (if filename (vc-file-getprop filename 'vc-state))))
(defun vc-svn-dir-state-heuristic (dir)
"Find the SVN state of all files in DIR, using only local information."