Re: [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file
- From
Brandon Casey <casey@nrlssc.navy.mil>
- Date
- Nov 3, 2008, 18:20 UTC
- Message-ID
- <RqVk2AkdyUcFTIGofSkQwl1GtBTXMYzMqaOQiAOmBXAyPDuWlQug-w@cipher.nrlssc.navy.mil>
- In-Reply-To
- <490ED3FE.8040103@op5.se>
Andreas Ericsson wrote:
Show 12 quoted lines
> drafnel@gmail.com wrote: >> From: Brandon Casey <drafnel@gmail.com> >> >> Objects residing in pack files that have an associated .keep file are not >> supposed to be repacked into new pack files, but they are. >> > > I think that's a misconception. Packfiles that are marked with .keep files > should never be deleted. There are, afaik, no rules against packing the > same objects into other packfiles as well. This is nifty for dumb ref > walkers, as they can use a small pack for incremental fetching while using > a mega-pack for initial cloning.
Having no rules against an object residing in more than one pack is different from intending for git to produce pack files with redundant objects.
I think one intention for the .keep mechanism was to allow for a size optimized pack to be produced and distributed. Currently, if I am handed such a pack file, I can not merely place it into my pack directory (along with the .idx and .keep files) and then run git-gc to remove any redundancy. Instead, I would get a _new_ pack file which would contain all of the objects in the repository and effectively double the size of my objects store. That doesn't seem like something a user would expect or should expect.
-brandon