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