I noticed earlier that when running 'git difftool --gui', we do not fallback to 'merge.guitool' when 'diff.guitool' isn't set, even though this behaviour exists for when we invoke 'git difftool' (i.e. it falls back from diff.tool to merge.tool). While fixing this bug up, I noticed a few other places where we could do some code cleanup/add tests so I did that as well. Denton Liu (5): t7610: add mergetool --gui tests mergetool: use get_merge_tool function mergetool: fallback to tool when guitool unavailable difftool: make --gui, --tool and --extcmd exclusive difftool: fallback on merge.guitool Documentation/git-difftool.txt | 4 ++- Documentation/git-mergetool--lib.txt | 5 +++- Documentation/git-mergetool.txt | 4 ++- builtin/difftool.c | 21 ++++++++------ git-difftool--helper.sh | 2 +- git-mergetool--lib.sh | 33 ++++++++++++++-------- git-mergetool.sh | 11 ++------ t/t7610-mergetool.sh | 41 ++++++++++++++++++++++++++++ t/t7800-difftool.sh | 24 ++++++++++++++++ 9 files changed, 113 insertions(+), 32 deletions(-) -- 2.21.0.967.gf85e14fd49