diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/vc.el | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lisp/vc.el b/lisp/vc.el index 386b62abe35..59457863b9a 100644 --- a/lisp/vc.el +++ b/lisp/vc.el @@ -1646,10 +1646,16 @@ A prefix argument means do not revert the buffer afterwards." ;; Check out unlocked, and revert buffer. (vc-checkout (buffer-file-name) nil recent)) (setq done t)) + ;; If the checkout fails, vc-do-command signals an error. + ;; We catch this error, check the reason, correct the + ;; version number, and try a second time. (error (set-buffer "*vc*") (goto-char (point-min)) - (if (re-search-forward "no side branches present for" nil t) + (if (search-forward "no side branches present for" nil t) (progn (setq recent (vc-branch-part recent)) + ;; vc-do-command popped up a window with + ;; the error message. Get rid of it, by + ;; restoring the old window configuration. (set-window-configuration config)) ;; No, it was some other error: re-signal it. (signal (car err) (cdr err)))))) |