Merge branch 'jn/xml-depends-on-asciidoc-conf'
[gitweb.git] / mergetools / p4merge
index 1a45c1b0c5128335fc340e7d6409b4e772419a07..52f7c8f70578929432becdd58a7fb423398f8de8 100644 (file)
@@ -1,5 +1,22 @@
 diff_cmd () {
+       empty_file=
+
+       # p4merge does not like /dev/null
+       if test "/dev/null" = "$LOCAL"
+       then
+               LOCAL="$(create_empty_file)"
+       fi
+       if test "/dev/null" = "$REMOTE"
+       then
+               REMOTE="$(create_empty_file)"
+       fi
+
        "$merge_tool_path" "$LOCAL" "$REMOTE"
+
+       if test -n "$empty_file"
+       then
+               rm -f "$empty_file"
+       fi
 }
 
 merge_cmd () {
@@ -8,3 +25,10 @@ merge_cmd () {
        "$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
        check_unchanged
 }
+
+create_empty_file () {
+       empty_file="${TMPDIR:-/tmp}/git-difftool-p4merge-empty-file.$$"
+       >"$empty_file"
+
+       printf "$empty_file"
+}