| 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" | 
 | 	if ! $base_present | 
 | 	then | 
 | 		cp -- "$LOCAL" "$BASE" | 
 | 		create_virtual_base "$BASE" "$REMOTE" | 
 | 	fi | 
 | 	"$merge_tool_path" "$BASE" "$REMOTE" "$LOCAL" "$MERGED" | 
 | 	check_unchanged | 
 | } | 
 |  | 
 | create_empty_file () { | 
 | 	empty_file="${TMPDIR:-/tmp}/git-difftool-p4merge-empty-file.$$" | 
 | 	>"$empty_file" | 
 |  | 
 | 	printf "%s" "$empty_file" | 
 | } |