summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--admin/ChangeLog6
-rw-r--r--admin/bzrmerge.el10
2 files changed, 15 insertions, 1 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 46dbaa0da26..0ca88ee84d5 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,9 @@
+2011-02-05 Glenn Morris <rgm@gnu.org>
+
+ * bzrmerge.el (bzrmerge-warning-buffer): New constant.
+ (bzrmerge-apply): Use it.
+ (bzrmerge): Kill any old warning buffer first.
+
2011-02-03 Glenn Morris <rgm@gnu.org>
* bzrmerge.el (bzrmerge-buffer): New constant.
diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el
index 350f3795c52..061af80b6cf 100644
--- a/admin/bzrmerge.el
+++ b/admin/bzrmerge.el
@@ -35,6 +35,9 @@
(defconst bzrmerge-buffer "*bzrmerge*"
"Working buffer for bzrmerge.")
+(defconst bzrmerge-warning-buffer "*bzrmerge warnings*"
+ "Buffer where bzrmerge will display any warnings.")
+
(defun bzrmerge-merges ()
"Return the list of already merged (not yet committed) revisions.
The list returned is sorted by oldest-first."
@@ -290,7 +293,8 @@ Does not make other difference."
;; are conflicts.
(display-warning 'bzrmerge "Resolve conflicts manually.
ĦBEWARE! Important metadata is kept in this Emacs session!
-Do not commit without re-running `M-x bzrmerge' first!"))
+Do not commit without re-running `M-x bzrmerge' first!"
+ :warning bzrmerge-warning-buffer))
(error "Resolve conflicts manually")))))
(cons merge skip)))))
@@ -305,6 +309,10 @@ Do not commit without re-running `M-x bzrmerge' first!"))
(when (re-search-forward "submit branch: *" nil t)
(buffer-substring (point) (line-end-position))))))
(read-file-name "From branch: " nil nil nil def))))
+ ;; Eg we ran bzrmerge once, it stopped with conflicts, we fixed them
+ ;; and are running it again.
+ (if (get-buffer bzrmerge-warning-buffer)
+ (kill-buffer bzrmerge-warning-buffer))
(message "Merging from %s..." from)
(require 'vc-bzr)
(let ((default-directory (or (vc-bzr-root default-directory)