Jeff King | aa338d3 | 2017-11-20 15:26:43 -0500 | [diff] [blame] | 1 | # Helpers for dealing with large numbers of packs. |
| 2 | |
| 3 | # create $1 nonsense packs, each with a single blob |
| 4 | create_packs () { |
| 5 | perl -le ' |
| 6 | my ($n) = @ARGV; |
| 7 | for (1..$n) { |
| 8 | print "blob"; |
| 9 | print "data <<EOF"; |
| 10 | print "$_"; |
| 11 | print "EOF"; |
Jeff King | 0a11e40 | 2017-11-20 15:27:19 -0500 | [diff] [blame] | 12 | print "checkpoint" |
Jeff King | aa338d3 | 2017-11-20 15:26:43 -0500 | [diff] [blame] | 13 | } |
| 14 | ' "$@" | |
Jeff King | 0a11e40 | 2017-11-20 15:27:19 -0500 | [diff] [blame] | 15 | git fast-import |
Jeff King | aa338d3 | 2017-11-20 15:26:43 -0500 | [diff] [blame] | 16 | } |
| 17 | |
| 18 | # create a large number of packs, disabling any gc which might |
| 19 | # cause us to repack them |
| 20 | setup_many_packs () { |
| 21 | git config gc.auto 0 && |
| 22 | git config gc.autopacklimit 0 && |
Jeff King | 0a11e40 | 2017-11-20 15:27:19 -0500 | [diff] [blame] | 23 | git config fastimport.unpacklimit 0 && |
Jeff King | aa338d3 | 2017-11-20 15:26:43 -0500 | [diff] [blame] | 24 | create_packs 500 |
| 25 | } |