1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2024-11-23 07:19:15 +00:00

(vc-svn-rename-file): New fun.

(vc-svn-diff): Correctly check svn's return status.
This commit is contained in:
Stefan Monnier 2003-05-09 14:13:40 +00:00
parent ca2de34225
commit 2766aaafdc

View File

@ -291,6 +291,9 @@ This is only possible if SVN is responsible for FILE's directory.")
(concat "-r" rev))
switches)))
(defun vc-svn-rename-file (old new)
(vc-svn-command nil 0 new "move" (file-relative-name old)))
(defun vc-svn-revert (file &optional contents-done)
"Revert FILE to the version it was based on."
(unless contents-done
@ -395,17 +398,16 @@ The changes are between FIRST-VERSION and SECOND-VERSION."
(let* ((switches (vc-switches 'SVN 'diff))
(async (and (vc-svn-stay-local-p file)
(or oldvers newvers) ; Svn diffs those locally.
(fboundp 'start-process)))
(status
(apply 'vc-svn-command "*vc-diff*"
(if async 'async 1)
file "diff"
(append
(when switches
(list "-x" (mapconcat 'identity switches " ")))
(when oldvers
(list "-r" (if newvers (concat oldvers ":" newvers)
oldvers)))))))
(fboundp 'start-process))))
(apply 'vc-svn-command "*vc-diff*"
(if async 'async 0)
file "diff"
(append
(when switches
(list "-x" (mapconcat 'identity switches " ")))
(when oldvers
(list "-r" (if newvers (concat oldvers ":" newvers)
oldvers)))))
(if async 1 ; async diff => pessimistic assumption
;; For some reason `svn diff' does not return a useful
;; status w.r.t whether the diff was empty or not.