Merge branch 'da/mergetools-p4' into maint

"git mergetool" feeds /dev/null as a common ancestor when dealing
with an add/add conflict, but p4merge backend cannot handle it. Work
it around by passing a temporary empty file.

* da/mergetools-p4:
  mergetools/p4merge: Handle "/dev/null"
This commit is contained in:
Junio C Hamano 2012-11-18 19:31:40 -08:00
commit 6c95f535e9

View file

@ -1,5 +1,30 @@
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 () {