summaryrefslogtreecommitdiff
path: root/lisp/vc-svn.el
diff options
context:
space:
mode:
authorStefan Monnier <monnier@iro.umontreal.ca>2007-02-07 23:02:12 +0000
committerStefan Monnier <monnier@iro.umontreal.ca>2007-02-07 23:02:12 +0000
commit459b1fe4c0f85c4b863627f08537a8c644d2cd46 (patch)
tree522bae56fb207d095150314a90e5175d3f9eff6d /lisp/vc-svn.el
parent8b57a7fde4084709d4e106f486370304515b5ffb (diff)
downloademacs-459b1fe4c0f85c4b863627f08537a8c644d2cd46.tar.gz
(vc-svn-merge-news): Understand the new format with two
added columns of chars. Remove support for the "no-meta-info" format. Prompted by Romain Francoise <romain@orebokech.com>.
Diffstat (limited to 'lisp/vc-svn.el')
-rw-r--r--lisp/vc-svn.el11
1 files changed, 8 insertions, 3 deletions
diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el
index 916930ffde2..730806fdcd0 100644
--- a/lisp/vc-svn.el
+++ b/lisp/vc-svn.el
@@ -345,18 +345,23 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
(if (looking-at "At revision")
0 ;; there were no news; indicate success
(if (re-search-forward
- (concat "^\\([CGDU] \\)?"
+ ;; Newer SVN clients have 3 columns of chars (one for the
+ ;; file's contents, then second for its properties, and the
+ ;; third for lock-grabbing info), before the 2 spaces.
+ ;; We also used to match the filename in column 0 without any
+ ;; meta-info before it, but I believe this can never happen.
+ (concat "^\\(\\([ACGDU]\\)\\(.[B ]\\)? \\)"
(regexp-quote (file-name-nondirectory file)))
nil t)
(cond
;; Merge successful, we are in sync with repository now
- ((string= (match-string 1) "U ")
+ ((string= (match-string 2) "U")
(vc-file-setprop file 'vc-state 'up-to-date)
(vc-file-setprop file 'vc-checkout-time
(nth 5 (file-attributes file)))
0);; indicate success to the caller
;; Merge successful, but our own changes are still in the file
- ((string= (match-string 1) "G ")
+ ((string= (match-string 2) "G")
(vc-file-setprop file 'vc-state 'edited)
0);; indicate success to the caller
;; Conflicts detected!