| 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 | |
| } |