changeset 112337:256406bc04fe

Merge from mainline.
author Paul Eggert <eggert@cs.ucla.edu>
date Mon, 17 Jan 2011 14:09:25 -0800
parents 7e12e8b5864c (current diff) 7e5855ddf3f2 (diff)
children aee2f052ef17
files
diffstat 2 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/admin/ChangeLog	Mon Jan 17 11:47:38 2011 -0800
+++ b/admin/ChangeLog	Mon Jan 17 14:09:25 2011 -0800
@@ -1,3 +1,8 @@
+2011-01-17  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* bzrmerge.el (bzrmerge-apply): Warn the user when the tree might be in
+	an inconsistent state.
+
 2011-01-17  Paul Eggert  <eggert@cs.ucla.edu>
 
 	Update copyright notes to match recent gnulib-related changes.
--- a/admin/bzrmerge.el	Mon Jan 17 11:47:38 2011 -0800
+++ b/admin/bzrmerge.el	Mon Jan 17 14:09:25 2011 -0800
@@ -218,6 +218,7 @@
     (setq bzrmerge-already-done nil)
     (let ((merge (car missing))
           (skip (cdr missing))
+          (unsafe nil)
           beg end)
       (when (or merge skip)
         (cond
@@ -249,6 +250,7 @@
                           "--force" "-r" (format "%s..%s" beg end) from)
             ;; The merge did not update the metadata, so force the next time
             ;; around to update it (as a "skip").
+            (setq unsafe t)
             (push end skip))
           (pop-to-buffer (current-buffer))
           (sit-for 1)
@@ -271,6 +273,15 @@
             (when conflicted
               (setq bzrmerge-already-done
                     (list (cons merge skip) from missing))
+              (if unsafe
+                  ;; FIXME: Obviously, we'd rather make it right rather
+                  ;; than output such a warning.  But I don't know how to add
+                  ;; the metadata to bzr's since the technique used in
+                  ;; bzrmerge-add-metadata does not work when there
+                  ;; 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!")))
               (error "Resolve conflicts manually")))))
         (cons merge skip)))))