Code

cvsimport: repack every kilo-commits.
authorLinus Torvalds <torvalds@osdl.org>
Tue, 23 May 2006 02:28:37 +0000 (19:28 -0700)
committerJunio C Hamano <junkio@cox.net>
Tue, 23 May 2006 07:31:36 +0000 (00:31 -0700)
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Acked-by: Martin Langhoff <martin@catalyst.net.nz>
Signed-off-by: Junio C Hamano <junkio@cox.net>
git-cvsimport.perl

index 6c232c0d4bde99fbb9fd48d9a5cd8f10f041579e..712cdc0e325e1cf64c9bf67a3b3ca00f45e712a5 100755 (executable)
@@ -853,10 +853,14 @@ while(<CVS>) {
        } elsif($state == 9 and /^\s*$/) {
                $state = 10;
        } elsif(($state == 9 or $state == 10) and /^-+$/) {
-               if ($opt_L && $commitcount++ >= $opt_L) {
+               $commitcount++;
+               if ($opt_L && $commitcount > $opt_L) {
                        last;
                }
                commit();
+               if (($commitcount & 1023) == 0) {
+                       system("git repack -a -d");
+               }
                $state = 1;
        } elsif($state == 11 and /^-+$/) {
                $state = 1;