merge: add tests to show current behavior on failed filemerges
Currently, failed file merges will nevertheless force the user to continue
attempting to merge all additional unresolved files. Future patches will allow
the user to halt the merge process instead. This patch first introduces a test
demonstrating the current bejhavior so the upcoming changes are more obvious.
Differential Revision: https://phab.mercurial-scm.org/D930
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test-merge-halt.t Fri Oct 06 06:48:43 2017 -0700
@@ -0,0 +1,78 @@
+ $ cat >> $HGRCPATH <<EOF
+ > [extensions]
+ > rebase=
+ > [phases]
+ > publish=False
+ > [merge]
+ > EOF
+
+ $ hg init repo
+ $ cd repo
+ $ echo a > a
+ $ echo b > b
+ $ hg commit -qAm ab
+ $ echo c >> a
+ $ echo c >> b
+ $ hg commit -qAm c
+ $ hg up -q ".^"
+ $ echo d >> a
+ $ echo d >> b
+ $ hg commit -qAm d
+
+Testing on-failure=continue
+ $ echo on-failure=continue >> $HGRCPATH
+ $ hg rebase -s 1 -d 2 --tool false
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ merging a failed!
+ merging b failed!
+ unresolved conflicts (see hg resolve, then hg rebase --continue)
+ [1]
+
+ $ hg resolve --list
+ U a
+ U b
+
+ $ hg rebase --abort
+ rebase aborted
+
+Testing on-failure=halt
+ $ echo on-failure=halt >> $HGRCPATH
+ $ hg rebase -s 1 -d 2 --tool false
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ merging a failed!
+ merging b failed!
+ unresolved conflicts (see hg resolve, then hg rebase --continue)
+ [1]
+
+ $ hg resolve --list
+ U a
+ U b
+
+ $ hg rebase --abort
+ rebase aborted
+
+Testing on-failure=prompt
+ $ echo on-failure=prompt >> $HGRCPATH
+ $ cat <<EOS | hg rebase -s 1 -d 2 --tool false --config ui.interactive=1
+ > y
+ > n
+ > EOS
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ merging a failed!
+ merging b failed!
+ unresolved conflicts (see hg resolve, then hg rebase --continue)
+ [1]
+
+ $ hg resolve --list
+ U a
+ U b
+
+ $ hg rebase --abort
+ rebase aborted
+