我相信我最近在Mercurial的承诺已经腐败了。我不能再做任何事了,也不能回滚。
我跑了hg verify
,建议我应该hg recover
。然后我按照建议运行hg recover
,我现在收到错误:
abort: index 00manifest.i is corrupted!
根据这篇文章:http://osdir.com/ml/version-control.mercurial.general/2007-03/msg00099.html我应该能够从00manifest.i
文件中删除最后64位,然后重新开始工作。
这是否正确?我将如何这样做?
PS。到目前为止,我所做的一切都是原始存储库的克隆。
非常感谢,
安迪
答案 0 :(得分:4)
您可以使用Python控制台截断00manifest.i
:
$ python
>>> with open("00manifest.i.orig", 'rb') as fp:
... data = fp.read()
>>> with open("00manifest.i", 'wb') as fp:
... fp.write(data[:-64])
首先,以二进制模式读取文件。 data
只是一个字符串。然后使用切片来回写除最后64个字节以外的所有字节,再次以二进制模式。