Script to 'fix' the sha1's. Note that if the deltas do not create a sensible inventory, then this will just make things worse: do _not_ run it other than on a backup of the repository. import bzrlib.repository from bzrlib import errors from bzrlib.tsort import topo_sort from bzrlib.versionedfile import FulltextContentFactory r = bzrlib.repository.Repository.open('.') r.lock_write() r._backup_inventory() new_inv = r._temp_inventories() order = topo_sort(r.inventories.get_parent_map(r.inventories.keys())) for key in order: try: record = r.inventories.get_record_stream([key], 'unordered', True).next() except errors.SHA1KnitCorrupt, e: assert e.key == key record = FulltextContentFactory(record.key, record.parents, None, ''.join(e.content)) new_inv.insert_record_stream([record]) r._activate_new_inventory() After running this on a wget created copy of the repo, I get: BzrCheckError: Internal check failed: Stored revisions missing from inventory {Arch-1: