On Wed, 11 Oct 2006, Eran Tromer wrote: > > How so? This process loses the unreferenced objects from the old packs, > where "referenced" is determined in a racy way. Same problem. No. Those unreferenced objects are old history that won't be part of any new history. If you create new history, they won't be in the pack. It's obviously possible that you create new history that has a blob that is equal to some old history (and no loose object will be created), but by then we're _really_ reaching. > But "git prune" does not GC packs, only loose objects. Right. And you'd want to repack _and_ prune, but they should be kept separate, because one is safe, the other is not. Of course, if the code were to check that no references have changed over the operation, then I wouldn't have any objections. Linus - To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html