Thread (11 messages) flat view 11 messages, 4 authors, 2016-06-15

Re: How to replace a single corrupt, packed object?

From: Johannes Schindelin <hidden>
Date: 2016-06-15 22:45:21

Hi,

On Mon, 15 Sep 2008, Nicolas Pitre wrote:
On Mon, 15 Sep 2008, Johannes Schindelin wrote:
quoted
On Sun, 10 Aug 2008, Nicolas Pitre wrote:
quoted
On Fri, 8 Aug 2008, Johannes Schindelin wrote:
quoted
my auto gc kicked in, and shows this:

fatal: corrupt packed object for 2c1e128aa51e3a64bd61556c0cd488628b423ccf
error: failed to run repack

Fortunately, I have the uncorrupted object somewhere else.  So I copy the 
single object as a loose one, and all is fine.  Right?

Wrong.
Well, to be sure things are then right or wrong, just do a 

	git show 2c1e128aa51e3a64bd61556c0cd488628b423ccf

If you can't see the object before, and are able to see it once it has 
been copied over, then things are "right".
quoted
Repack still picks up the corrupt object instead of the good one.  
What's the best way out?
How do you repack?  The only way to get rid of a corrupted object in 
that case is to 'git repack -a -f'.
Turns out I am a complete, utter moron.  And I am sure René will quote me 
on that.

Git would probably have taken the copied-over object, and now took the 
copied-over pack (finally!).

My mistake was to keep the .keep file.  And the corrupt object was -- you 
guessed it -- in the corresponding .pack file.
OK.  Then I'll dig my patch out and write a test for it before 
submitting it to Junio.
Thank you very much & sorry for the trouble,
Dscho
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help