Recover most of a broken Git repository

Repair as much as possible from a Git repository with broken blob objects and no backups available.