Merge branch 'hy/blame-in-bare-with-contents'
[git/debian.git] / mergetools / p4merge
blobf3cb197e5876e1a667e97189fff71fd355ccab30
1 diff_cmd () {
2         empty_file=
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
14         "$merge_tool_path" "$LOCAL" "$REMOTE"
16         if test -n "$empty_file"
17         then
18                 rm -f "$empty_file"
19         fi
22 diff_cmd_help () {
23         echo "Use HelixCore P4Merge (requires a graphical session)"
26 merge_cmd () {
27         if ! $base_present
28         then
29                 cp -- "$LOCAL" "$BASE"
30                 create_virtual_base "$BASE" "$REMOTE"
31         fi
32         "$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED"
35 create_empty_file () {
36         empty_file="${TMPDIR:-/tmp}/git-difftool-p4merge-empty-file.$$"
37         >"$empty_file"
39         printf "%s" "$empty_file"
42 merge_cmd_help () {
43         echo "Use HelixCore P4Merge (requires a graphical session)"