From: martin@catalyst.net.nz Date: Sun, 11 Sep 2005 09:26:05 +0000 (+1200) Subject: [PATCH] archimport - better handling of temp dirs X-Git-Tag: v0.99.7~73 X-Git-Url: https://git.octo.it/?p=git.git;a=commitdiff_plain;h=127bf00f7d2fee044602bec8c76ec9d6bf368025 [PATCH] archimport - better handling of temp dirs Switched from backwards hard-coded tmp directory creation to using File::Temp::tempdir() to create the directory inside $TMP_PATH or what the user has provided via the -t parameter. Signed-off-by: Martin Langhoff Signed-off-by: Junio C Hamano --- diff --git a/git-archimport.perl b/git-archimport.perl index 518a0ea9..3749b8b5 100755 --- a/git-archimport.perl +++ b/git-archimport.perl @@ -23,7 +23,6 @@ See man (1) git-archimport for more details. - create tag objects instead of ref tags - audit shell-escaping of filenames - - better handling of temp directories - hide our private tags somewhere smarter - find a way to make "cat *patches | patch" safe even when patchfiles are missing newlines @@ -37,7 +36,7 @@ use strict; use warnings; use Getopt::Std; use File::Spec; -use File::Temp qw(tempfile); +use File::Temp qw(tempfile tempdir); use File::Path qw(mkpath); use File::Basename qw(basename dirname); use String::ShellQuote; @@ -72,9 +71,10 @@ usage if $opt_h; @ARGV >= 1 or usage(); my @arch_roots = @ARGV; -my $tmp = $opt_t; -$tmp ||= '/tmp'; -$tmp .= '/git-archimport/'; +my ($tmpdir, $tmpdirname) = tempdir('git-archimport-XXXXXX', TMPDIR => 1, CLEANUP => 1); +my $tmp = $opt_t || 1; +$tmp = tempdir('git-archimport-XXXXXX', TMPDIR => 1, CLEANUP => 1); +$opt_v && print "+ Using $tmp as temporary directory\n"; my @psets = (); # the collection my %psets = (); # the collection, by name