diff lisp/vc.el @ 4228:f1441ca7277e

> (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.
author Paul Eggert <eggert@twinsun.com>
date Thu, 22 Jul 1993 10:57:46 +0000
parents 469c093061bf
children 8407cf00af85
line wrap: on
line diff
--- 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)
   )