mergetool: avoid letting `list_tool_variants` break user-defined setups
commit12026f46e73ba09b8c403079bccc72a3b85e8dc9
authorJohannes Schindelin <johannes.schindelin@gmx.de>
Wed, 11 Nov 2020 20:33:18 +0000 (11 20:33 +0000)
committerJunio C Hamano <gitster@pobox.com>
Wed, 11 Nov 2020 21:00:11 +0000 (11 13:00 -0800)
tree3b8f2f551c9f04b9601b8d24b79fc801eec9dd8a
parent6bc9082c0fa37d25b7cf9c3ab3c85c78c7a19daf
mergetool: avoid letting `list_tool_variants` break user-defined setups

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