summaryrefslogtreecommitdiff
path: root/xdiff/xtypes.h
diff options
context:
space:
mode:
authorLibravatar Denton Liu <liu.denton@gmail.com>2019-04-29 02:21:14 -0400
committerLibravatar Junio C Hamano <gitster@pobox.com>2019-05-13 23:11:59 +0900
commit60aced3dfa68df60952fed28c4ae63a5bbda0275 (patch)
treec8b2ed84040a9627929143e478c4b9ef361d0801 /xdiff/xtypes.h
parentmergetool--lib: create gui_mode function (diff)
downloadtgif-60aced3dfa68df60952fed28c4ae63a5bbda0275.tar.xz
mergetool: fallback to tool when guitool unavailable
In git-difftool, if the tool is called with --gui but `diff.guitool` is not set, it falls back to `diff.tool`. Make git-mergetool also fallback from `merge.guitool` to `merge.tool` if the former is undefined. If git-difftool, when called with `--gui`, were to use `get_configured_mergetool` in a future patch, it would also get the fallback behavior in the following precedence: 1. diff.guitool 2. merge.guitool 3. diff.tool 4. merge.tool The behavior for when difftool or mergetool are called without `--gui` should be identical with or without this patch. Note that the search loop could be written as sections="merge" keys="tool" if diff_mode then sections="diff $sections" fi if gui_mode then keys="guitool $keys" fi merge_tool=$( IFS=' ' for key in $keys do for section in $sections do selected=$(git config $section.$key) if test -n "$selected" then echo "$selected" return fi done done) which would make adding a mode in the future much easier. However, adding a new mode will likely never happen as it is highly discouraged so, as a result, it is written in its current form so that it is more readable for future readers. Signed-off-by: Denton Liu <liu.denton@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'xdiff/xtypes.h')
0 files changed, 0 insertions, 0 deletions