如何从损坏的.hgsubstate文件中恢复?

时间:2014-04-13 17:30:54

标签: mercurial mercurial-subrepos

尝试

hg commit

hg status

我收到了错误

abort: invalid subrepository revision specifier in .hgsubstate line 3

这可能是原因:

f322ee070c467d1e517564d679f150693739d186 buildtools
2e68a7e2306704c8dc98802c73897c6c43bf96bc dzlivetemplates
 libs/dxgettext
 libs/dzlib
 libs/jcl
 libs/jvcl
 libs/tregexpr

前两行看起来没问题,但是从第3行开始,子存储库修订版没有GUID。

我不知道这是怎么发生的(但我可能是我自己造成的)。

如何从中恢复?我可以删除.hgsubstate文件并让hg从子存储库的当前状态中重新编写它吗?如果是,怎么样?

1 个答案:

答案 0 :(得分:3)

好的,删除文件(实际上我将其重命名为能够恢复它)似乎解决了这个问题。

hg update
hg commit

恢复了它。

现在我回到原来的问题:摆脱无意中创建的第二个头。但那是一个不同的故事。