Commit 3e4f2373 authored by David Aguilar's avatar David Aguilar Committed by Junio C Hamano

mergetools: add winmerge as a builtin tool

Add a winmerge scriptlet with the commands described in [1] so
that users can use winmerge without needing to perform any
additional configuration.

[1] http://thread.gmane.org/gmane.comp.version-control.git/268631Helped-by: Philip Oakley's avatarPhilip Oakley <[email protected]>
Helped-by: Johannes Schindelin's avatarJohannes Schindelin <[email protected]>
Helped-by: Sebastian Schuberth's avatarSebastian Schuberth <[email protected]>
Helped-by: default avatarSZEDER Gábor <[email protected]>
Signed-off-by: David Aguilar's avatarDavid Aguilar <[email protected]>
Signed-off-by: default avatarJunio C Hamano <[email protected]>
parent 719518f5
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
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment