Replacing a corrupt blob

From: Joshua Jensen <hidden>
Date: 2016-06-15 22:50:00

I just helped someone fix a repository where a blob became corrupted a 
while back when passing through Dropbox.  No backup of the original blob 
existed.

The user told me the contents of the blob was unimportant.

Thinking I could be clever, I ran 'git replace' to replace the blob with 
something else.  I thought I could run 'git clone' or 'git 
filter-branch' to apply it permanently, but that didn't seem to work.

In the end, I ran 'git fast-export', changed the blob SHA, and then ran 
'git fast-import'.  'git fsck' still told me the blob was corrupt, and I 
couldn't determine the sequence of commands to make it clear out the bad 
blob (expire the reflog, prune, etc).

I was able to 'git clone' to another location, and the bad blob was gone.

Is there another way to permanently replace a corrupt blob?

What is the right way to remove the corrupt blob without running 'git 
clone'?

Thanks!

Josh
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help