【问题标题】:How can I recover from a corrupted .hgsubstate file?如何从损坏的 .hgsubstate 文件中恢复?
【发布时间】:2014-04-13 17:30:53
【问题描述】:

尝试时

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 从子存储库的当前状态重新创建它吗?如果是,怎么做?

【问题讨论】:

    标签: mercurial mercurial-subrepos


    【解决方案1】:

    好的,删除文件(实际上我重命名它以便能够恢复它)似乎可以解决问题。

    hg update
    hg commit
    

    恢复它。

    现在我又回到了最初的问题:摆脱无意中创建的第二个头。但那是另一回事。

    【讨论】:

    • 查看stackoverflow.com/questions/7475634/… 合并两个磁头,同时丢弃坏磁头。
    • 谢谢@Vince,这可能会有所帮助,但我已经用蛮力解决了这个问题:我删除了 hg 存储库并创建了一个新的。这当然丢失了我的更改日志,但在这种情况下这不是一个大问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 2018-06-07
    • 2017-12-03
    • 2015-03-04
    • 2013-07-18
    • 2018-08-24
    • 2012-10-14
    相关资源
    最近更新 更多