Skip to content

Commit

Permalink
Merge branch 'da/mergetools-p4' into maint
Browse files Browse the repository at this point in the history
"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"
  • Loading branch information
Junio C Hamano committed Nov 19, 2012
2 parents 3424da1 + 3facc60 commit 6c95f53
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions mergetools/p4merge
Original file line number Diff line number Diff line change
@@ -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 () {
Expand Down

0 comments on commit 6c95f53

Please sign in to comment.