Subject: Replacing a corrupt blob

From: Joshua Jensen <[email-masked]>
Date: Tue, 09 Nov 2010 10:02:08 -0700

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