]> git.ipfire.org Git - thirdparty/git.git/commitdiff
mergetool: avoid letting `list_tool_variants` break user-defined setups
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 11 Nov 2020 20:33:18 +0000 (20:33 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Nov 2020 21:00:11 +0000 (13:00 -0800)
In 83bbf9b92ea8 (mergetool--lib: improve support for vimdiff-style tool
variants, 2020-07-29), we introduced a `list_tool_variants` function
in the spirit of Postel's Law: be lenient in what you accept as input.
In this particular instance, we wanted to allow not only `bc` but also
`bc3` as name for the Beyond Compare tool.

However, what this patch overlooked is that it is totally allowed for
users to override the defaults in `mergetools/`. But now that we strip
off trailing digits, the name that the user gave the tool might not
actually be in the list produced by `list_tool_variants`.

So let's do the same as for the `diff_cmd` and the `merge_cmd`: override
it with the trivial version in case a user-defined setup was detected.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
git-mergetool--lib.sh

index 2defef28cd931fc9dca041ee7ec0ea5d440c3dd7..7225abd81122e6bd798989d6e21fae1279cf3929 100644 (file)
@@ -138,6 +138,10 @@ setup_user_tool () {
        merge_cmd () {
                ( eval $merge_tool_cmd )
        }
+
+       list_tool_variants () {
+               echo "$tool"
+       }
 }
 
 setup_tool () {