From: Brandon Casey Date: Mon, 03 Nov 2008 18:20:04 GMT Subject: Re: [PATCH] t7700: demonstrate mishandling of objects in packs with a .keep file Message-ID: In-Reply-To: <490ED3FE.8040103@op5.se> Andreas Ericsson wrote: > drafnel@gmail.com wrote: >> From: Brandon Casey >> >> 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