contrib/diffall: create tmp dirs without mktemp
[gitweb.git] / contrib / diffall / git-diffall
index d706a6dee32839007f8fcfb32794b51a1e59765a..443f646a773a89041d8255d29a829fa710af03e0 100755 (executable)
@@ -45,13 +45,10 @@ cd "$cdup" || {
        exit 1
 }
 
-# mktemp is not available on all platforms (missing from msysgit)
-# Use a hard-coded tmp dir if it is not available
-tmp="$(mktemp -d -t tmp.XXXXXX 2>/dev/null)" || {
-       tmp=/tmp/git-diffall-tmp.$$
-       mkdir "$tmp" || exit 1
-}
-
+# set up temp dir
+tmp=$(perl -e 'use File::Temp qw(tempdir);
+       $t=tempdir("/tmp/git-diffall.XXXXX") or exit(1);
+       print $t') || exit 1
 trap 'rm -rf "$tmp" 2>/dev/null' EXIT
 
 left=