Re: How to replace a single corrupt, packed object?
- From
Nicolas Pitre <nico@cam.org>
- Date
- Aug 11, 2008, 03:40 UTC
- Message-ID
- <alpine.LFD.1.10.0808102325280.22892@xanadu.home>
- In-Reply-To
- <20080811030744.GD27195@spearce.org>
On Sun, 10 Aug 2008, Shawn O. Pearce wrote:
Show 6 quoted lines
> Nicolas Pitre <nico@cam.org> wrote: > > OK, here's what the patch to allow repacking without -f and still using > > redundant objects in presence of pack corruption might look like. > > Please tell me if that works for you. > > Aside from goto being considered harmful by some really smart people,
Well, other really smart people consider gotos perfectly fine when used judiciously. So this ends up being a question of belief and taste.
> this patch makes a lot of sense. Its only downside is a backwards > goto within this function, but the code is actually still quite > clear to me.
The actual downside I see with this patch is the fact that real data corruptions might be "fixed" automagically with user unaware of it. This could be a serious sign that the hardware is going bad and requiring the user to consciously use -f to fix things is good. However it is most unlikely that redundant objects will be kept around in the normal case, hence manual intervention will be needed anyway to bring a copy of bad object into the repository. So not having to use -f might not be such an issue.
> If this allows git to magically fix Dscho's bad pack, it may be > worth including in the core tree.
Yep.
Nicolas