git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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
Previous: Shawn O. PearceNext: Shawn O. Pearce
Message 16 of 18 in “How to replace a single corrupt, packed object?”
  1. Johannes SchindelinAug 8, 2008
  2. Shawn O. PearceAug 8, 2008
  3. Johannes SchindelinAug 8, 2008
  4. Johannes SchindelinAug 8, 2008
  5. Shawn O. PearceAug 8, 2008
  6. Pieter de BieAug 8, 2008
  7. Shawn O. PearceAug 8, 2008
  8. Nicolas PitreAug 11, 2008
  9. Johannes SchindelinSep 15, 2008
  10. Nicolas PitreSep 15, 2008
  11. Johannes SchindelinSep 15, 2008
  12. Shawn O. PearceAug 8, 2008
  13. Johannes SchindelinAug 8, 2008
  14. Nicolas PitreAug 11, 2008
  15. Shawn O. PearceAug 11, 2008
  16. Nicolas PitreAug 11, 2008
  17. Shawn O. PearceAug 11, 2008
  18. Johannes SchindelinAug 11, 2008

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.