On 2006-10-10 23:25, Linus Torvalds wrote: > On Tue, 10 Oct 2006, Eran Tromer wrote: >> Too late: "git repack -a -d" already does it, in contradiction to its >> manpage. It creates a new pack by following .git/refs, and then deletes >> all old pack files. > > That's very different. > > That just means that you should not try to do two _concurrent_ repacks. How so? This process loses the unreferenced objects from the old packs, where "referenced" is determined in a racy way. Same problem. > >> Don't run it on a shared repo, then. And grab a coffee while it runs. >> But why force leaf repositories to accumulate garbage? > > Nobody forces that. > > You can run "git prune" if you want to. But at least we know that "git > prune" is unsafe. But "git prune" does not GC packs, only loose objects. Anyway, I think the right thing to do is to make "git repack -a -d" operate safely (not drop any objects), and add a new --prune option so that "git repack -a -d --prune" does what "git repack -a -d" used to do. Eran - 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