summaryrefslogtreecommitdiff
path: root/git-archimport.perl
diff options
context:
space:
mode:
authormartin@catalyst.net.nz <martin@catalyst.net.nz>2005-09-11 09:26:05 (GMT)
committerJunio C Hamano <junkio@cox.net>2005-09-11 17:51:57 (GMT)
commit127bf00f7d2fee044602bec8c76ec9d6bf368025 (patch)
treed2da81fe11dbc3ba07ad99d05cafbc533a58d277 /git-archimport.perl
parent1d4710d06ccf6911b42a3a7b4a4bf148008f32a5 (diff)
downloadgit-127bf00f7d2fee044602bec8c76ec9d6bf368025.zip
git-127bf00f7d2fee044602bec8c76ec9d6bf368025.tar.gz
git-127bf00f7d2fee044602bec8c76ec9d6bf368025.tar.bz2
[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 <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-archimport.perl')
-rwxr-xr-xgit-archimport.perl10
1 files changed, 5 insertions, 5 deletions
diff --git a/git-archimport.perl b/git-archimport.perl
index 518a0ea..3749b8b 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