diff_cmd () { "$merge_tool_path" "$LOCAL" "$REMOTE" } merge_cmd () { if test -z "${meld_has_output_option:+set}" then check_meld_for_output_version fi touch "$BACKUP" if test "$meld_has_output_option" = true then "$merge_tool_path" --output "$MERGED" \ "$LOCAL" "$BASE" "$REMOTE" else "$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE" fi check_unchanged } # Check whether 'meld --output <file>' is supported 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 then meld_has_output_option=true else meld_has_output_option=false fi }