From a3f90bea8edc75b7543a06170e5a7521163bbf4e Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 28 Aug 2012 15:26:41 -0400 Subject: [PATCH] * admin/bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree. --- admin/ChangeLog | 4 ++++ admin/bzrmerge.el | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/admin/ChangeLog b/admin/ChangeLog index 1bbce2ea87a..145028ec815 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,7 @@ +2012-08-28 Glenn Morris + + * bzrmerge.el (bzrmerge-merges): Allow unversioned files in the tree. + 2012-08-28 Andreas Schwab * charsets/mule-charsets.el (header): Fix typo. diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el index e174312143d..8d64dd9edbf 100644 --- a/admin/bzrmerge.el +++ b/admin/bzrmerge.el @@ -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 -- 2.39.2