summaryrefslogtreecommitdiff
path: root/mergetools
diff options
context:
space:
mode:
authorLibravatar David Aguilar <davvid@gmail.com>2014-10-15 21:45:14 -0700
committerLibravatar Junio C Hamano <gitster@pobox.com>2014-10-16 11:58:11 -0700
commitb12d04503b0aba1f2d68b164b348cbf94bbe570b (patch)
tree375ed9642619d3b2715030f90484fffdfc916ca3 /mergetools
parentMerge branch 'maint-2.0' into maint (diff)
downloadtgif-b12d04503b0aba1f2d68b164b348cbf94bbe570b.tar.xz
mergetools/meld: make usage of `--output` configurable and more robust
Older versions of meld listed --output in `meld --help`. Newer versions only mention `meld [OPTIONS...]`. Improve the checks to catch these newer versions. Add a `mergetool.meld.hasOutput` configuration to allow overriding the heuristic. Reported-by: Andrey Novoseltsev <novoselt@gmail.com> Helped-by: Junio C Hamano <gitster@pobox.com> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'mergetools')
-rw-r--r--mergetools/meld9
1 files changed, 7 insertions, 2 deletions
diff --git a/mergetools/meld b/mergetools/meld
index cb672a5519..83ebdfb4c3 100644
--- a/mergetools/meld
+++ b/mergetools/meld
@@ -18,13 +18,18 @@ merge_cmd () {
check_unchanged
}
-# Check whether 'meld --output <file>' is supported
+# Check whether we should use 'meld --output <file>'
check_meld_for_output_version () {
meld_path="$(git config mergetool.meld.path)"
meld_path="${meld_path:-meld}"
- if "$meld_path" --help 2>&1 | grep -e --output >/dev/null
+ if meld_has_output_option=$(git config --bool mergetool.meld.hasOutput)
then
+ : use configured value
+ elif "$meld_path" --help 2>&1 |
+ grep -e '--output=' -e '\[OPTION\.\.\.\]' >/dev/null
+ then
+ : old ones mention --output and new ones just say OPTION...
meld_has_output_option=true
else
meld_has_output_option=false