> (vc-backend-revert): Use `co -f' instead of deleting the
authorPaul Eggert <eggert@twinsun.com>
Thu, 22 Jul 1993 10:57:46 +0000 (10:57 +0000)
committerPaul Eggert <eggert@twinsun.com>
Thu, 22 Jul 1993 10:57:46 +0000 (10:57 +0000)
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.

lisp/vc.el

index 9265c60..fe4d6f3 100644 (file)
@@ -1485,9 +1485,7 @@ Return nil if there is no such person."
    (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 @@ Return nil if there is no such person."
 (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)
   )