3facc60031
p4merge does not properly handle the case where "/dev/null" is passed as a filename. Work it around by creating a temporary file for this purpose. Reported-by: Jeremy Morton <admin@game-point.net> Signed-off-by: David Aguilar <davvid@gmail.com> Signed-off-by: Junio C Hamano <gitster@pobox.com> --- Needs to be amended with Tested-by when a report comes...
36 lines
576 B
Plaintext
36 lines
576 B
Plaintext
diff_cmd () {
|
|
# p4merge does not like /dev/null
|
|
rm_local=
|
|
rm_remote=
|
|
if test "/dev/null" = "$LOCAL"
|
|
then
|
|
LOCAL="./p4merge-dev-null.LOCAL.$$"
|
|
>"$LOCAL"
|
|
rm_local=true
|
|
fi
|
|
if test "/dev/null" = "$REMOTE"
|
|
then
|
|
REMOTE="./p4merge-dev-null.REMOTE.$$"
|
|
>"$REMOTE"
|
|
rm_remote=true
|
|
fi
|
|
|
|
"$merge_tool_path" "$LOCAL" "$REMOTE"
|
|
|
|
if test -n "$rm_local"
|
|
then
|
|
rm -f "$LOCAL"
|
|
fi
|
|
if test -n "$rm_remote"
|
|
then
|
|
rm -f "$REMOTE"
|
|
fi
|
|
}
|
|
|
|
merge_cmd () {
|
|
touch "$BACKUP"
|
|
$base_present || >"$BASE"
|
|
"$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
|
|
check_unchanged
|
|
}
|