Mercurial添加新文件没有找到匹配的错误

时间:2010-06-09 12:51:17

标签: mercurial version-control

我有一个更新Mercurial的奇怪问题。每当我将文件添加到我的存储库然后更新存储库的另一个位置(例如在CI过程中)时,就会发生错误“找不到匹配”。然后,当我删除到整个文件夹并再次克隆它没有问题,并添加新的文件。更新和删除不会产生问题

当我执行“a”验证时显示以下内容:

  

data/test.txt.i@54:丢失revlog!   54:空或缺少test.txt   test.txt@54:b80de5d13875在清单中   未找到3个完整性错误   碰到的问题! (第一次损坏的变更集   似乎是54)

知道可能导致这种情况的原因吗?

修改

完整的痕迹:

  

ThoughtWorks.CruiseControl.Core.CruiseControlException:   源控制操作失败:   中止:data /test.txt.i@b80de5d13875:   没找到匹配! 。处理命令:hg   更新 - 非交互式   ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo   processInfo)at   ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetSource(IIntegrationResult   结果)在   ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult   结果)在   ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest   请求)

1 个答案:

答案 0 :(得分:2)

“存储库损坏”在此处不是专利,因为您可以再次克隆,并检索所有内容(旧的和新添加的)。
所以要检查的不同点是:

1 /处理某种冲突(阻止data/test.txt.i@b80de5d13875写入的内容,即使这样也会记录文件内容)
2 / hg revlog hg debugindex,查看您的回购中实际记录的版本。
3 / hg verify 以排除任何回购贪污 4 / check the integrity of your repo