mercurial存储库已损坏-无法更新

mercurial存储库已损坏-无法更新,mercurial,corrupt,Mercurial,Corrupt,我想我已经设法破坏了mercurial的一个仓库,有没有办法恢复损失?尝试将回购更新为默认分支时收到的消息是: PS C:\wco\projects\ims\code> hg up -C default abort: data/Trunk/application/models/priority_model.php.i@83dbdfb60981: no match found! 运行hg verify时,我会得到以下报告: PS C:\wco\projects\ims\code> h

我想我已经设法破坏了mercurial的一个仓库,有没有办法恢复损失?尝试将回购更新为默认分支时收到的消息是:

PS C:\wco\projects\ims\code> hg up -C default
abort: data/Trunk/application/models/priority_model.php.i@83dbdfb60981: no match found!
运行hg verify时,我会得到以下报告:

PS C:\wco\projects\ims\code> hg verify
checking changesets
checking manifests
crosschecking files in changesets and manifests
checking files
 data/.buildpath.i@0: missing revlog!
 0: empty or missing .buildpath
 .buildpath@0: daf15acb5273 in manifests not found
 data/.project.i@0: missing revlog!
 0: empty or missing .project
 .project@0: e8b25997d6d1 in manifests not found
 Rawlings IMS/index.html@3: empty or missing copy source revlog index.html:b8b2b36a6eea
 Rawlings IMS/index.php@3: empty or missing copy source revlog index.php:a5f76bf232e9
 Rawlings IMS/index_backup.php@3: empty or missing copy source revlog index_backup.php:a5f76bf232e9
 Rawlings IMS/index_this_hold.html@3: empty or missing copy source revlog index_this_hold.html:b8b2b36a6eea
 Rawlings IMS/testera.php@3: empty or missing copy source revlog testera.php:6e9e3666c1bc
 Trunk/application/models/priority_model.php@32: 83dbdfb60981 in manifests not found
 data/index.html.i@0: missing revlog!
 0: empty or missing index.html
 index.html@0: b8b2b36a6eea in manifests not found
 data/index.php.i@0: missing revlog!
 0: empty or missing index.php
 index.php@0: a5f76bf232e9 in manifests not found
 data/index_backup.php.i@0: missing revlog!
 0: empty or missing index_backup.php
 index_backup.php@0: a5f76bf232e9 in manifests not found
 data/index_this_hold.html.i@0: missing revlog!
 0: empty or missing index_this_hold.html
 index_this_hold.html@0: b8b2b36a6eea in manifests not found
 data/nbproject/project.properties.i@14: missing revlog!
 14: empty or missing nbproject/project.properties
 nbproject/project.properties@14: 1efa3074378b in manifests not found
 data/nbproject/project.xml.i@14: missing revlog!
 14: empty or missing nbproject/project.xml
 nbproject/project.xml@14: 52689bf2b35a in manifests not found
 data/rcrawley/.buildpath.i@9: missing revlog!
 9: empty or missing rcrawley/.buildpath
 rcrawley/.buildpath@9: 2c6411d4fcff in manifests not found
 data/rcrawley/.project.i@9: missing revlog!
 9: empty or missing rcrawley/.project
 rcrawley/.project@9: cb4b1495acab in manifests not found
 data/rcrawley/assets/images/ajax-loader.gif.i@9: missing revlog!
 9: empty or missing rcrawley/assets/images/ajax-loader.gif
 rcrawley/assets/images/ajax-loader.gif@9: 8ef26516c7da in manifests not found
 data/rcrawley/index.html.i@9: missing revlog!
 9: empty or missing rcrawley/index.html
 rcrawley/index.html@9: 545246299dee in manifests not found
 data/rcrawley/index.php.i@9: missing revlog!
 9: empty or missing rcrawley/index.php
 rcrawley/index.php@9: 66eac798ed6d in manifests not found
 data/rcrawley/index_backup.php.i@9: missing revlog!
 9: empty or missing rcrawley/index_backup.php
 rcrawley/index_backup.php@9: 93971228fbf5 in manifests not found
 data/rcrawley/system/index.html.i@9: missing revlog!
 9: empty or missing rcrawley/system/index.html
 rcrawley/system/index.html@9: 17360d3b566e in manifests not found
 data/rcrawley/testera.php.i@9: missing revlog!
 9: empty or missing rcrawley/testera.php
 rcrawley/testera.php@9: 7d9bd5196740 in manifests not found
 data/testera.php.i@0: missing revlog!
 0: empty or missing testera.php
 testera.php@0: 6e9e3666c1bc in manifests not found
1646 files, 59 changesets, 1897 total revisions
57 integrity errors encountered!
(first damaged changeset appears to be 0)
因为第一个损坏的变更集是0,所以这看起来是非常极端的。这有什么关系吗


任何帮助都将不胜感激。

您的回购协议看起来很失败-并将此作为错误报告发布给Mercurial bug tracker&与Mercurial irc聊天室上的
mpm
交谈,他非常有帮助。

hg.ignoreerrors还允许在阅读源代码时忽略缺少的revlog错误,这可能有助于修复存储库受损的情况。将此选项设置为True并从Mercurial转换为Mercurial


阅读(正在尝试hg转换)。

@richzilla:这里没办法,但我有一个本地“只推”存储库,只有当我的主存储库通过“hg验证”时,我才会推到该存储库。这样,如果sh*t击中风扇,我的机器上始终有一个处于已知良好状态的回购。不知道这是否有意义,但我还是这么做了:)请打开一个错误报告(这么多缺少的revlog意味着我们无能为力,但我们可以尝试找出它是如何发生的)。顺便说一句,你最好的选择是使用文件映射进行hg->hg转换以排除缺少的文件(我打赌你会根据模式删除文件,这会删除.hg中的内容)。另一个问题是:您是否在其他地方有备份或工作存储库?