Re: Large repo and pack.packsizelimit
- From
Thomas <th.acker66@arcor.de>
- Date
- May 10, 2012, 11:42 UTC
- Message-ID
- <loom.20120510T133639-197@post.gmane.org>
- In-Reply-To
- <7vlil1tg7w.fsf@alter.siamese.dyndns.org>
Junio C Hamano <gitster <at> pobox.com> writes:
Show 27 quoted lines
> > Thomas <th.acker66 <at> arcor.de> writes: > > > (1) all objects to be transferred to another repo > > (2) all loose objects when starting a local repack > > Case (1) can be fixed by transfer.unpacklimit but there is no fix for (2). > > Technically (1) is putting everything in a single pack to transfer, and it > is only the receiving end that does the chopping. > > For (2), you could do something like > > keep=$( git rev-list --objects $some_rev | > git pack-objects --delta-base-offset pack ) && > mv pack-$keep.pack pack-$keep.idx .git/objects/pack/ && > echo "keep $some_rev" >.git/objects/pack/pack-$keep.keep > > after finding a suitable $some_rev that is old enough so that it will be > an ancestor of anything that matters in the future and gives small enough > packfiles. You may want to try doing the above multiple times, by picking > a few strategic ranges, e.g. > > for some_rev in v1.0 v1.0..v2.0 v2.0..v2.4 v2.4..v3.0 > do > ... the above four lines come here ... > done >
Not really a porcelain-level solution ;-) but I will try it. Thanks! Is there any chance that (1) and (2) will be solved by using packsizelimit in the future? Will there be any porcelain/plumbing commands for creating/deleting .keep files for packs? --- Thomas