mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
> (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.
This commit is contained in:
parent
c08c95c7af
commit
d76b8d38bc
1 changed files with 7 additions and 12 deletions
19
lisp/vc.el
19
lisp/vc.el
|
|
@ -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)
|
||||
)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue