mergetool: avoid letting list_tool_variants break user-defined setups

In 83bbf9b92e (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>
This commit is contained in:
Johannes Schindelin 2020-11-11 20:33:18 +00:00 committed by Junio C Hamano
parent 6bc9082c0f
commit 12026f46e7

View File

@ -138,6 +138,10 @@ setup_user_tool () {
merge_cmd () { merge_cmd () {
( eval $merge_tool_cmd ) ( eval $merge_tool_cmd )
} }
list_tool_variants () {
echo "$tool"
}
} }
setup_tool () { setup_tool () {