]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-backend-checkin): Handle RCS `co'-output in the event
authorKarl Heuer <kwzh@gnu.org>
Fri, 9 Jun 1995 01:21:18 +0000 (01:21 +0000)
committerKarl Heuer <kwzh@gnu.org>
Fri, 9 Jun 1995 01:21:18 +0000 (01:21 +0000)
that a check-in only results in reverting to the previous version.
Also be more robust if the new version number cannot be told from
what `co' says.

lisp/vc.el

index 4d5e29c86f66e17d6942824fbc8f7a48427f2cb2..3b9fbbb77412d73d70243e7259e181c9dda6b29e 100644 (file)
@@ -1683,14 +1683,16 @@ From a program, any arguments are passed to the `rcs2log' script."
        (progn 
          (set-buffer "*vc*")
          (goto-char (point-min))
-         (if (re-search-forward "new revision: \\([0-9.]+\\);" nil t)
+         (if (or (re-search-forward 
+                  "new revision: \\([0-9.]+\\);" nil t)
+                 (re-search-forward 
+                  "reverting to previous revision \\([0-9.]+\\)" nil t))
              (progn (setq rev (buffer-substring (match-beginning 1)
                                                 (match-end 1)))
                     (vc-file-setprop file 'vc-workfile-version rev)))
-         (if (vc-trunk-p rev)
-             (vc-do-command 0 "rcs" file 'MASTER "-b")
-           (vc-do-command 0 "rcs" file 'MASTER
-                          (concat "-b" (vc-branch-part rev))))
+         (if rev (vc-do-command 0 "rcs" file 'MASTER 
+                                (if (vc-trunk-p rev) "-b"
+                                  (concat "-b" (vc-branch-part rev)))))
          (if lock-version 
              ;; exit status of 1 is also accepted.
               ;; It means that the lock was removed before.