D952: merge: additional test cases to show changing behavior
ryanmce (Ryan McElroy)
phabricator at mercurial-scm.org
Thu Oct 5 09:16:21 UTC 2017
ryanmce created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Depends on https://phab.mercurial-scm.org/D951.
In the next patch more cases of failed file merges will be able to halt the
merge process. Add some test cases so that the failures are more obvious.
REPOSITORY
rHG Mercurial
BRANCH
default
REVISION DETAIL
https://phab.mercurial-scm.org/D952
AFFECTED FILES
tests/test-merge-halt.t
CHANGE DETAILS
diff --git a/tests/test-merge-halt.t b/tests/test-merge-halt.t
--- a/tests/test-merge-halt.t
+++ b/tests/test-merge-halt.t
@@ -73,3 +73,75 @@
$ hg rebase --abort
rebase aborted
+Check that successful tool with failed post-check halts the merge
+ $ echo onfailure=halt >> $HGRCPATH
+ $ cat <<EOS >> $HGRCPATH
+ > [merge-tools]
+ > true.check=changed
+ > EOS
+ $ hg rebase -s 1 -d 2 --tool true
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ output file a appears unchanged
+ was merge successful (yn)? n
+ merging a failed!
+ merge halted after failed merge (see hg resolve)
+ [1]
+
+ $ hg resolve --list
+ U a
+ U b
+
+ $ hg rebase --abort
+ rebase aborted
+
+Check conflicts
+ $ cat <<EOS >> $HGRCPATH
+ > [merge-tools]
+ > true.check=conflicts
+ > true.premerge=keep
+ > EOS
+ $ hg rebase -s 1 -d 2 --tool true
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ merging a failed!
+ merge halted after failed merge (see hg resolve)
+ [1]
+
+Check conflict prompts
+ $ hg rebase --abort
+ rebase aborted
+ $ hg rebase -s 1 -d 2 --tool true --config merge-tools.true.check=prompt
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ was merge of 'a' successful (yn)? n
+ merging a failed!
+ merge halted after failed merge (see hg resolve)
+ [1]
+ $ hg rebase --abort
+ rebase aborted
+
+Check that a requested abort actually works
+ $ cat <<EOS | hg rebase -s 1 -d 2 --tool false --config ui.interactive=1
+ > n
+ > EOS
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ merging a failed!
+ merge halted after failed merge (see hg resolve)
+ [1]
+
+ $ hg rebase --abort
+ rebase aborted
+
+Check that successful tool otherwise allows the merge to continue
+ $ hg rebase -s 1 -d 2 --tool echo --keep --config merge-tools.echo.premerge=keep
+ rebasing 1:1f28a51c3c9b "c"
+ merging a
+ merging b
+ $TESTTMP/repo/a *a~base* *a~other* (glob)
+ $TESTTMP/repo/b *b~base* *b~other* (glob)
To: ryanmce, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list