diff options
author | Matthias Urlichs <smurf@kiste.(none)> | 2005-06-28 19:58:40 +0200 |
---|---|---|
committer | Matthias Urlichs <smurf@kiste.(none)> | 2005-06-28 19:58:40 +0200 |
commit | f65ae603db8ffc36e25cc835eeffcfe4909c3148 (patch) | |
tree | 2ce6ddb91bbba5cc326f285f47051b4b724c1255 /git-cvsimport-script | |
parent | 2a3e1a85b5432b94499db7d7fbe4ec9b65b6c88d (diff) | |
download | git-f65ae603db8ffc36e25cc835eeffcfe4909c3148.tar.gz |
Local cvsimport fixups
Diffstat (limited to 'git-cvsimport-script')
-rwxr-xr-x | git-cvsimport-script | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/git-cvsimport-script b/git-cvsimport-script index d61175613d..58ded8a989 100755 --- a/git-cvsimport-script +++ b/git-cvsimport-script @@ -61,6 +61,8 @@ package CVSconn; # Basic CVS dialog. # We're only interested in connecting and downloading, so ... +use POSIX qw(strftime dup2); + sub new { my($what,$repo,$subdir) = @_; $what=ref($what) if ref($what); @@ -571,7 +573,9 @@ while(<CVS>) { # VERSION:1.96->1.96.2.1 my $init = ($2 eq "INITIAL"); my $fn = $1; - my $data = $cvs->file($fn,$3); + my $rev = $3; + $fn =~ s#^/+##; + my $data = $cvs->file($fn,$rev); print "".($init ? "New" : "Update")." $fn: ".length($data)." bytes.\n"; mkpath(dirname($fn),$opt_v); open(F,"> ./$fn") @@ -583,7 +587,9 @@ while(<CVS>) { chmod(pmode($cvs->{'mode'}), $fn); push(@new,$fn); # may be resurrected! } elsif($state == 9 and /^\s+(\S+):\d(?:\.\d+)+->(\d(?:\.\d+)+)\(DEAD\)\s*$/) { - push(@old,$1); + my $fn = $1; + $fn =~ s#^/+##; + push(@old,$fn); } elsif($state == 9 and /^\s*$/) { $state = 10; } elsif(($state == 9 or $state == 10) and /^-+$/) { |