tests: demonstrate that no requested merge tool is ignored if missing
If you explicitly configure a merge tool, it seems wrong that we don't
even warn if we can't find it. This patch adds a test case that
demonstrates that.
Differential Revision: https://phab.mercurial-scm.org/D3974
--- a/tests/test-merge-tools.t Mon Aug 06 16:00:00 2018 -0700
+++ b/tests/test-merge-tools.t Mon Jul 23 22:51:50 2018 -0700
@@ -1737,6 +1737,27 @@
# hg resolve --list
U f
+missingbinary is a merge-tool that doesn't exist:
+
+ $ echo "missingbinary.executable=doesnotexist" >> .hg/hgrc
+ $ beforemerge
+ [merge-tools]
+ false.whatever=
+ true.priority=1
+ true.executable=cat
+ missingbinary.executable=doesnotexist
+ # hg update -C 1
+ $ hg merge -y -r 2 --config ui.merge=missingbinary
+ merging f
+ revision 1
+ space
+ revision 0
+ space
+ revision 2
+ space
+ 0 files updated, 1 files merged, 0 files removed, 0 files unresolved
+ (branch merge, don't forget to commit)
+
#if symlink
internal merge cannot handle symlinks and shouldn't try:
@@ -1790,6 +1811,7 @@
false.whatever=
true.priority=1
true.executable=cat
+ missingbinary.executable=doesnotexist
# hg update -C 1
(default behavior: checking files in the working parent context)