]> code.delx.au - gnu-emacs/blobdiff - admin/bzrmerge.el
* admin/bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree.
[gnu-emacs] / admin / bzrmerge.el
index e174312143d3d1450e858a0f29104fb7556a8784..8d64dd9edbf07482f280e30bb8d1bfefa1be67de 100644 (file)
@@ -45,16 +45,23 @@ The list returned is sorted by oldest-first."
     (erase-buffer)
     ;; We generally want to make sure we start with a clean tree, but we also
     ;; want to allow restarts (i.e. with some part of FROM already merged but
-    ;; not yet committed).
+    ;; not yet committed).  Unversioned (unknown) files in the tree
+    ;; are also ok.
     (call-process "bzr" nil t nil "status" "-v")
     (goto-char (point-min))
     (when (re-search-forward "^conflicts:\n" nil t)
       (error "You still have unresolved conflicts"))
-    (let ((merges ()))
+    (let ((merges ())
+          found)
       (if (not (re-search-forward "^pending merges:\n" nil t))
           (when (save-excursion
                   (goto-char (point-min))
-                  (re-search-forward "^[a-z ]*:\n" nil t))
+                  (while (and
+                          (re-search-forward "^\\([a-z ]*\\):\n" nil t)
+                          (not
+                           (setq found
+                                 (not (equal "unknown" (match-string 1)))))))
+                  found)
             (error "You still have uncommitted changes"))
         ;; This is really stupid, but it seems there's no easy way to figure
         ;; out which revisions have been merged already.  The only info I can