Subject: Re: [PATCH] Added --mirror-all to git-fetch.

From: Junio C Hamano <[email-masked]>
Date: Wed, 20 Sep 2006 14:36:26 -0700

Shawn Pearce <[email-masked]> writes:

>> >      (the archive vs active repacking strategy we talked about,
>> 
>> Hmm, I think I've missed this, I must look that in the archive.
>
> Junio pushed the core code out but nobody has done the Porecelain
> for it.  The basic idea is to prevent repacking every pack all of
> the time; there's probably no reason to repack a 100 MiB pack file
> every time you repack your loose objects so you might want to keep
> say a <5 MiB "active pack" holding your recent created objects
> and repack that frequently and a larger 100+ MiB "history pack"
> holding everything else.  Maybe you repack everything on a longer
> time scale, such as once a year.

And IIRC we were stuck on the convention to tell which ones are
archives and which ones are actives (i.e. fair game for
repacking).  We were trying to figure out how to mark active
ones (whose name changes every time you repack).

I realized that there is a very simple and obvious solution for
it.  Introduce $GIT_OBJECT_DIRECTORY/info/archived-packs, a flat
text file that lists the names of the archive packs.  Any pack
not listed there are active one and are subject to repacking.