]> git.eshelyaron.com Git - emacs.git/commitdiff
VC: Allow `vc-default-revert' (and CVS) to revert a missing file
authorOlivier Certner <olce.emacs@certner.fr>
Thu, 6 Apr 2023 09:25:33 +0000 (11:25 +0200)
committerDmitry Gutov <dmitry@gutov.dev>
Wed, 19 Apr 2023 00:47:20 +0000 (03:47 +0300)
* lisp/vc/vc.el (vc-default-revert): Fix reverting a missing file case
by not trying to create a backup through `copy-file'.  Notably impacts
CVS, where `vc-cvs-revert' calls `vc-default-revert'.

lisp/vc/vc.el

index 32b0d5d7556c520dc06d38f00c974aac7ed034f0..91d3f6f70d32da68af0841d20a40ba38badfd35c 100644 (file)
@@ -3604,7 +3604,8 @@ to provide the `find-revision' operation instead."
           (file-buffer (or (get-file-buffer file) (current-buffer))))
       (message "Checking out %s..." file)
       (let ((failed t)
-            (backup-name (car (find-backup-file-name file))))
+            (backup-name (when (file-exists-p file)
+                           (car (find-backup-file-name file)))))
         (when backup-name
           (copy-file file backup-name 'ok-if-already-exists 'keep-date)
           (unless (file-writable-p file)