summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJunio C Hamano <gitster@pobox.com>2013-02-25 16:03:20 (GMT)
committerJunio C Hamano <gitster@pobox.com>2013-02-25 16:03:20 (GMT)
commita8e00d7b83e0c810a16cb441b9d0601be7706f2c (patch)
tree0c79db017155493e67f0938fd66db89ecc2df920
parent4f021b34f2d5b775690f63796a2973753660c8a8 (diff)
parent950b5680bdacd3eaa4a528f4dc2d5652f1beb88d (diff)
downloadgit-a8e00d7b83e0c810a16cb441b9d0601be7706f2c.zip
git-a8e00d7b83e0c810a16cb441b9d0601be7706f2c.tar.gz
git-a8e00d7b83e0c810a16cb441b9d0601be7706f2c.tar.bz2
Merge branch 'da/p4merge-mktemp' into maint
* da/p4merge-mktemp: mergetools/p4merge: Honor $TMPDIR for the /dev/null placeholder
-rw-r--r--mergetools/p4merge27
1 files changed, 13 insertions, 14 deletions
diff --git a/mergetools/p4merge b/mergetools/p4merge
index 295361a..52f7c8f 100644
--- a/mergetools/p4merge
+++ b/mergetools/p4merge
@@ -1,29 +1,21 @@
diff_cmd () {
+ empty_file=
+
# p4merge does not like /dev/null
- rm_local=
- rm_remote=
if test "/dev/null" = "$LOCAL"
then
- LOCAL="./p4merge-dev-null.LOCAL.$$"
- >"$LOCAL"
- rm_local=true
+ LOCAL="$(create_empty_file)"
fi
if test "/dev/null" = "$REMOTE"
then
- REMOTE="./p4merge-dev-null.REMOTE.$$"
- >"$REMOTE"
- rm_remote=true
+ REMOTE="$(create_empty_file)"
fi
"$merge_tool_path" "$LOCAL" "$REMOTE"
- if test -n "$rm_local"
- then
- rm -f "$LOCAL"
- fi
- if test -n "$rm_remote"
+ if test -n "$empty_file"
then
- rm -f "$REMOTE"
+ rm -f "$empty_file"
fi
}
@@ -33,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"
+}