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