summaryrefslogtreecommitdiff
path: root/mergetools
diff options
context:
space:
mode:
authorJonathan Nieder <jrnieder@gmail.com>2012-02-10 21:57:55 (GMT)
committerJunio C Hamano <gitster@pobox.com>2012-02-10 22:53:18 (GMT)
commit759a904e090b56a3941c1133a0f3302b7fec5054 (patch)
tree165fb99478838bcaf6575fc9b21733f594d94215 /mergetools
parent703f05ad5835cff92b12c29aecf8d724c8c847e2 (diff)
downloadgit-759a904e090b56a3941c1133a0f3302b7fec5054.zip
git-759a904e090b56a3941c1133a0f3302b7fec5054.tar.gz
git-759a904e090b56a3941c1133a0f3302b7fec5054.tar.bz2
mergetools/meld: Use --help output to detect --output support
In v1.7.7-rc0~3^2 (2011-08-19), git mergetool's "meld" support learned to use the --output option when calling versions of meld that are detected to support it (1.5.0 and newer, hopefully). Alas, it misdetects old versions (before 1.1.5, 2006-06-11) of meld as supporting the option, so on systems with such meld, instead of getting a nice merge helper, the operator gets a dialog box with the text "Wrong number of arguments (Got 5)". (Version 1.1.5 is when meld switched to using optparse. One consequence of that change was that errors in usage are detected and signalled through the exit status even when --help was passed.) Luckily there is a simpler check that is more reliable: the usage string printed by "meld --help" reliably reflects whether --output is supported in a given version. Use it. Reported-by: Jeff Epler <jepler@unpythonic.net> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com>
Diffstat (limited to 'mergetools')
-rw-r--r--mergetools/meld2
1 files changed, 1 insertions, 1 deletions
diff --git a/mergetools/meld b/mergetools/meld
index eaa115c..cb672a5 100644
--- a/mergetools/meld
+++ b/mergetools/meld
@@ -23,7 +23,7 @@ check_meld_for_output_version () {
meld_path="$(git config mergetool.meld.path)"
meld_path="${meld_path:-meld}"
- if "$meld_path" --output /dev/null --help >/dev/null 2>&1
+ if "$meld_path" --help 2>&1 | grep -e --output >/dev/null
then
meld_has_output_option=true
else