mergetools/meld: Use '--output' when available

meld 1.5.0 and newer allow the output file to be specified
when merging multiple files.  Check whether the meld command
supports '--output' and use it when available.

Signed-off-by: David Aguilar <davvid@gmail.com>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
David Aguilar 2011-08-19 02:14:45 -07:00 committed by Junio C Hamano
parent bc7a96a896
commit f61bd9c68a

View file

@ -3,7 +3,30 @@ diff_cmd () {
}
merge_cmd () {
if test -z "${meld_has_output_option:+set}"
then
check_meld_for_output_version
fi
touch "$BACKUP"
"$merge_tool_path" "$LOCAL" "$MERGED" "$REMOTE"
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" --output /dev/null --help >/dev/null 2>&1
then
meld_has_output_option=true
else
meld_has_output_option=false
fi
}