From: Thomas Date: Thu, 10 May 2012 11:42:09 GMT Subject: Re: Large repo and pack.packsizelimit Message-ID: In-Reply-To: <7vlil1tg7w.fsf@alter.siamese.dyndns.org> Junio C Hamano pobox.com> writes: > > Thomas 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