# HG changeset patch # User Paul Eggert # Date 743338666 0 # Node ID f1441ca7277e8d9f429fc6a59a6c973c7ff8c72c # Parent b283670201b47e490e6a4b0a35a544b88cedb9a4 > (vc-backend-revert): Use `co -f' instead of deleting the working file ourselves; that way, if `co' fails, we won't have deleted the working file. (vc-backend-steal): Don't delete the working file. Use `rcs -u -l', not `rcs -u ; rcs -l'; it's faster. Use vc-backend-dispatch -- the old code couldn't have possibly worked. diff -r b283670201b4 -r f1441ca7277e lisp/vc.el --- a/lisp/vc.el Thu Jul 22 09:01:22 1993 +0000 +++ b/lisp/vc.el Thu Jul 22 10:57:46 1993 +0000 @@ -1485,9 +1485,7 @@ (progn ;; SCCS (vc-do-command 0 "unget" file nil) (vc-do-command 0 "get" file nil)) - (progn - (delete-file file) ;; RCS - (vc-do-command 0 "co" file "-u"))) + (vc-do-command 0 "co" file "-f" "-u")) ;; RCS. This deletes the work file. (vc-file-setprop file 'vc-locking-user nil) (message "Reverting %s...done" file) ) @@ -1495,15 +1493,12 @@ (defun vc-backend-steal (file &optional rev) ;; Steal the lock on the current workfile. Needs RCS 5.6.2 or later for -M. (message "Stealing lock on %s..." file) - (progn - (vc-do-command 0 "unget" file "-n" (if rev (concat "-r" rev))) - (vc-do-command 0 "get" file "-g" (if rev (concat "-r" rev))) - ) - (progn - (vc-do-command 0 "rcs" "-M" (concat "-u" rev) file) - (delete-file file) - (vc-do-command 0 "rcs" (concat "-l" rev) file) - ) + (vc-backend-dispatch + (progn + (vc-do-command 0 "unget" file "-n" (if rev (concat "-r" rev))) + (vc-do-command 0 "get" file "-g" (if rev (concat "-r" rev))) + ) + (vc-do-command 0 "rcs" "-M" (concat "-u" rev) (concat "-l" rev) file)) (vc-file-setprop file 'vc-locking-user (user-login-name)) (message "Stealing lock on %s...done" file) )