 0a11e40275
			
		
	
	0a11e40275
	
	
	
		
			
			We currently use fast-import only to create a large number of objects, and then run O(n) invocations of pack-objects to turn them into packs. We can do this faster by just asking fast-import to checkpoint and create a pack for each (after telling it not to turn loose tiny packs). Signed-off-by: Jeff King <peff@peff.net> Signed-off-by: Junio C Hamano <gitster@pobox.com>
		
			
				
	
	
		
			26 lines
		
	
	
		
			526 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
		
			526 B
		
	
	
	
		
			Bash
		
	
	
	
	
	
| # Helpers for dealing with large numbers of packs.
 | |
| 
 | |
| # create $1 nonsense packs, each with a single blob
 | |
| create_packs () {
 | |
| 	perl -le '
 | |
| 		my ($n) = @ARGV;
 | |
| 		for (1..$n) {
 | |
| 			print "blob";
 | |
| 			print "data <<EOF";
 | |
| 			print "$_";
 | |
| 			print "EOF";
 | |
| 			print "checkpoint"
 | |
| 		}
 | |
| 	' "$@" |
 | |
| 	git fast-import
 | |
| }
 | |
| 
 | |
| # create a large number of packs, disabling any gc which might
 | |
| # cause us to repack them
 | |
| setup_many_packs () {
 | |
| 	git config gc.auto 0 &&
 | |
| 	git config gc.autopacklimit 0 &&
 | |
| 	git config fastimport.unpacklimit 0 &&
 | |
| 	create_packs 500
 | |
| }
 |