From 41f44310b35b8246475d707b3417e42a03b1ca05 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 17 Jan 2011 16:18:00 -0500 Subject: [PATCH] * admin/bzrmerge.el (bzrmerge-apply): Warn the user when the tree might be in an inconsistent state. --- admin/ChangeLog | 5 +++++ admin/bzrmerge.el | 11 +++++++++++ 2 files changed, 16 insertions(+) diff --git a/admin/ChangeLog b/admin/ChangeLog index ca310c1b8f1..6a698728b6c 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog @@ -1,3 +1,8 @@ +2011-01-17 Stefan Monnier + + * bzrmerge.el (bzrmerge-apply): Warn the user when the tree might be in + an inconsistent state. + 2011-01-17 Paul Eggert Update copyright notes to match recent gnulib-related changes. diff --git a/admin/bzrmerge.el b/admin/bzrmerge.el index 6764cbf853a..68b107be65e 100644 --- a/admin/bzrmerge.el +++ b/admin/bzrmerge.el @@ -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))))) -- 2.39.2