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

From: Shawn Pearce <[email-masked]>
Date: Wed, 20 Sep 2006 17:42:03 -0400

Junio C Hamano <[email-masked]> wrote:
> 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).

Yes.  I had pretty much given up on a size threshold concept and
was thus in agreement with you that we just needed a way to flag
each pack file...
 
> 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.

Like that.  :-)

-- 
Shawn.