summaryrefslogtreecommitdiff
path: root/git-cvsimport.perl
diff options
context:
space:
mode:
authorMartin Langhoff <martin@catalyst.net.nz>2007-01-08 21:08:46 +1300
committerJunio C Hamano <junkio@cox.net>2007-01-08 03:01:35 -0800
commit4083c2fce86c777415a3bc0d5813bcb73f676f98 (patch)
tree256d566f5c13a404ad9bc06823fcf9b8a8ab3d04 /git-cvsimport.perl
parenteec84962108d073d9cc8fdc54ec973a97355ee0f (diff)
downloadgit-4083c2fce86c777415a3bc0d5813bcb73f676f98.tar.gz
cvsimport: cleanup temporary cvsps file
It is bad manners to leave these sizable files around when we are done with them. Signed-off-by: Martin Langhoff <martin@catalyst.net.nz> Signed-off-by: Junio C Hamano <junkio@cox.net>
Diffstat (limited to 'git-cvsimport.perl')
-rwxr-xr-xgit-cvsimport.perl16
1 files changed, 11 insertions, 5 deletions
diff --git a/git-cvsimport.perl b/git-cvsimport.perl
index a86ee3cb18..1018f4f6fa 100755
--- a/git-cvsimport.perl
+++ b/git-cvsimport.perl
@@ -575,9 +575,11 @@ if ($opt_A) {
# run cvsps into a file unless we are getting
# it passed as a file via $opt_P
#
+my $cvspsfile;
unless ($opt_P) {
print "Running cvsps...\n" if $opt_v;
my $pid = open(CVSPS,"-|");
+ my $cvspsfh;
die "Cannot fork: $!\n" unless defined $pid;
unless ($pid) {
my @opt;
@@ -590,18 +592,18 @@ unless ($opt_P) {
exec("cvsps","--norc",@opt,"-u","-A",'--root',$opt_d,$cvs_tree);
die "Could not start cvsps: $!\n";
}
- my ($cvspsfh, $cvspsfile) = tempfile('gitXXXXXX', SUFFIX => '.cvsps',
- DIR => File::Spec->tmpdir());
+ ($cvspsfh, $cvspsfile) = tempfile('gitXXXXXX', SUFFIX => '.cvsps',
+ DIR => File::Spec->tmpdir());
while (<CVSPS>) {
print $cvspsfh $_;
}
close CVSPS;
close $cvspsfh;
- $opt_P = $cvspsfile;
+} else {
+ $cvspsfile = $opt_P;
}
-
-open(CVS, "<$opt_P") or die $!;
+open(CVS, "<$cvspsfile") or die $!;
## cvsps output:
#---------------------
@@ -936,6 +938,10 @@ while (<CVS>) {
}
commit() if $branch and $state != 11;
+unless ($opt_P) {
+ unlink($cvspsfile);
+}
+
# The heuristic of repacking every 1024 commits can leave a
# lot of unpacked data. If there is more than 1MB worth of
# not-packed objects, repack once more.