mergetools / p4mergeon commit unpack-trees: do not fail reset because of unmerged skipped entry (b33fdfc)
   1diff_cmd () {
   2        empty_file=
   3
   4        # p4merge does not like /dev/null
   5        if test "/dev/null" = "$LOCAL"
   6        then
   7                LOCAL="$(create_empty_file)"
   8        fi
   9        if test "/dev/null" = "$REMOTE"
  10        then
  11                REMOTE="$(create_empty_file)"
  12        fi
  13
  14        "$merge_tool_path" "$LOCAL" "$REMOTE"
  15
  16        if test -n "$empty_file"
  17        then
  18                rm -f "$empty_file"
  19        fi
  20}
  21
  22merge_cmd () {
  23        if ! $base_present
  24        then
  25                cp -- "$LOCAL" "$BASE"
  26                create_virtual_base "$BASE" "$REMOTE"
  27        fi
  28        "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
  29}
  30
  31create_empty_file () {
  32        empty_file="${TMPDIR:-/tmp}/git-difftool-p4merge-empty-file.$$"
  33        >"$empty_file"
  34
  35        printf "%s" "$empty_file"
  36}