diff options
author | Matthias Urlichs <smurf@kiste.(none)> | 2005-06-30 11:55:57 +0200 |
---|---|---|
committer | Matthias Urlichs <smurf@kiste.(none)> | 2005-06-30 11:55:57 +0200 |
commit | 4abdecbf85151b4881aed4840e84823a112f96a5 (patch) | |
tree | 3d74310594a93842da06c7ceb73cff9c1d9c4c00 /git-cvsimport-script | |
parent | 6c9a0dc2b5fffdb67593ee6bb828fcc578b84207 (diff) | |
download | git-4abdecbf85151b4881aed4840e84823a112f96a5.tar.gz git-4abdecbf85151b4881aed4840e84823a112f96a5.tar.xz |
cvs import: Call git-update-cache multiple times
instead of with a too-long argument list.
Diffstat (limited to 'git-cvsimport-script')
-rwxr-xr-x | git-cvsimport-script | 26 |
1 files changed, 22 insertions, 4 deletions
diff --git a/git-cvsimport-script b/git-cvsimport-script index 0d205c55a..f3e2a49e0 100755 --- a/git-cvsimport-script +++ b/git-cvsimport-script @@ -397,10 +397,28 @@ my($patchset,$date,$author,$branch,$ancestor,$tag,$logmsg); my(@old,@new); my $commit = sub { my $pid; - system("git-update-cache","--force-remove","--",@old) if @old; - die "Cannot remove files: $?\n" if $?; - system("git-update-cache","--add","--",@new) if @new; - die "Cannot add files: $?\n" if $?; + while(@old) { + my @o2; + if(@old > 55) { + @o2 = splice(@old,0,50); + } else { + @o2 = @old; + @old = (); + } + system("git-update-cache","--force-remove","--",@o2); + die "Cannot remove files: $?\n" if $?; + } + while(@new) { + my @n2; + if(@new > 55) { + @n2 = splice(@new,0,50); + } else { + @n2 = @new; + @new = (); + } + system("git-update-cache","--add","--",@n2); + die "Cannot add files: $?\n" if $?; + } $pid = open(C,"-|"); die "Cannot fork: $!" unless defined $pid; |