comparison lisp/vc-svn.el @ 93956:bfc762f0b49c

* vc-hooks.el (vc-state): Add new state `conflict'. (vc-after-save): Use when not if. (vc-default-mode-line-string): Deal with the conflict state. (vc-prefix-map): (vc-menu-map): Bind vc-status instead of vc-directory. * vc.el (vc-editable-p): (vc-default-status-printer): (vc-next-action): Deal with the conflict state. (vc-mark-resolved): New function. (vc-status-mode): Fix mode name. (vc-default-comment-history): Use when not if. (Todo): Add new entries, remove old ones. * vc-cvs.el (vc-cvs-merge, vc-cvs-merge-news): Set conflict state. (vc-cvs-parse-status): (vc-cvs-after-dir-status): * vc-svn.el (vc-svn-after-dir-status, vc-svn-parse-status): Detect the conflict state.
author Dan Nicolaescu <dann@ics.uci.edu>
date Thu, 10 Apr 2008 07:32:25 +0000
parents ed131d081eab
children 2ecb2ea8d5b5
comparison
equal deleted inserted replaced
93955:758c5f9b9633 93956:bfc762f0b49c
158 (vc-svn-command t 0 nil "status" (if localp "-v" "-u")) 158 (vc-svn-command t 0 nil "status" (if localp "-v" "-u"))
159 (vc-svn-parse-status)))) 159 (vc-svn-parse-status))))
160 160
161 (defun vc-svn-after-dir-status (callback buffer) 161 (defun vc-svn-after-dir-status (callback buffer)
162 (let ((state-map '((?A . added) 162 (let ((state-map '((?A . added)
163 (?C . edited) 163 (?C . conflict)
164 (?D . removed) 164 (?D . removed)
165 (?I . ignored) 165 (?I . ignored)
166 (?M . edited) 166 (?M . edited)
167 (?R . removed) 167 (?R . removed)
168 (?? . unregistered) 168 (?? . unregistered)
634 ((eq status ?A) 634 ((eq status ?A)
635 ;; If the file was actually copied, (match-string 2) is "-". 635 ;; If the file was actually copied, (match-string 2) is "-".
636 (vc-file-setprop file 'vc-working-revision "0") 636 (vc-file-setprop file 'vc-working-revision "0")
637 (vc-file-setprop file 'vc-checkout-time 0) 637 (vc-file-setprop file 'vc-checkout-time 0)
638 'added) 638 'added)
639 ((memq status '(?M ?C)) 639 ((eq status ?C)
640 (vc-file-setprop file 'vc-state 'conflict))
641 ((eq status '?M)
640 (if (eq (char-after (match-beginning 1)) ?*) 642 (if (eq (char-after (match-beginning 1)) ?*)
641 'needs-merge 643 'needs-merge
642 'edited)) 644 'edited))
643 ((eq status ?I) 645 ((eq status ?I)
644 (vc-file-setprop file 'vc-state 'ignored)) 646 (vc-file-setprop file 'vc-state 'ignored))