Merge branch 'jc/exec-cmd-system-path-leak-fix'
[gitweb.git] / mergetools / meld
index cb672a55192cb44335aa2cbe1f10004bb26d86ff..83ebdfb4c328ac79af38bfe935f0dbfa7fb6f53b 100644 (file)
@@ -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