summaryrefslogtreecommitdiff
path: root/mergetools/p4merge
blob: 8a36916567a234c354af9994df9c28788749e7fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
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 () {
	touch "$BACKUP"
	$base_present || >"$BASE"
	"$merge_tool_path" "$BASE" "$LOCAL" "$REMOTE" "$MERGED"
	check_unchanged
}

create_empty_file () {
	empty_file="${TMPDIR:-/tmp}/git-difftool-p4merge-empty-file.$$"
	>"$empty_file"

	printf "%s" "$empty_file"
}