| diff_cmd () { | |
| "$merge_tool_path" -u -e "$LOCAL" "$REMOTE" | |
| return 0 | |
| } | |
| merge_cmd () { | |
| # mergetool.winmerge.trustExitCode is implicitly false. | |
| # touch $BACKUP so that we can check_unchanged. | |
| touch "$BACKUP" | |
| "$merge_tool_path" -u -e -dl Local -dr Remote \ | |
| "$LOCAL" "$REMOTE" "$MERGED" | |
| check_unchanged | |
| } | |
| translate_merge_tool_path() { | |
| # Use WinMergeU.exe if it exists in $PATH | |
| if type -p WinMergeU.exe >/dev/null 2>&1 | |
| then | |
| printf WinMergeU.exe | |
| return | |
| fi | |
| # Look for WinMergeU.exe in the typical locations | |
| winmerge_exe="WinMerge/WinMergeU.exe" | |
| for directory in $(env | grep -Ei '^PROGRAM(FILES(\(X86\))?|W6432)=' | | |
| cut -d '=' -f 2- | sort -u) | |
| do | |
| if test -n "$directory" && test -x "$directory/$winmerge_exe" | |
| then | |
| printf '%s' "$directory/$winmerge_exe" | |
| return | |
| fi | |
| done | |
| printf WinMergeU.exe | |
| } |