]> git.eshelyaron.com Git - emacs.git/commitdiff
* admin/bzrmerge.el (bzrmerge-apply): Warn the user when the tree might be in
authorStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Jan 2011 21:18:00 +0000 (16:18 -0500)
committerStefan Monnier <monnier@iro.umontreal.ca>
Mon, 17 Jan 2011 21:18:00 +0000 (16:18 -0500)
an inconsistent state.

admin/ChangeLog
admin/bzrmerge.el

index ca310c1b8f1425e33e5ef8e64c481ab20ce5ba96..6a698728b6cee51de9f6a213e384a4be625e6064 100644 (file)
@@ -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.
index 6764cbf853a3fd112202b49cd4c8e1832302dbe4..68b107be65e6f9a688ca6eb58cb9cd25d0021c5e 100644 (file)
@@ -218,6 +218,7 @@ Does not make other difference."
     (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 @@ Does not make other difference."
                           "--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 @@ Does not make other difference."
             (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)))))