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 _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel