Mercurial和CruiseControl.Net出现“Crosses Branches”错误

时间:2011-02-05 00:54:11

标签: mercurial build cruisecontrol.net

我们正在迁移到Mercurial,当然,我们需要更新CruiseControl.Net构建过程以使用它而不是Visual SourceSafe。

我们使用以下块更新了CruiseControl配置文件:

<sourcecontrol type="hg" autoGetSource="true">
  <executable>C:\Program Files\Mercurial\hg.exe</executable>
  <repo>https://bitbucket.org/GTSDevs/galaxy</repo>
  <workingDirectory>C:\Cruise Control\Releases\5.0.0\source</workingDirectory>
  <branch>master</branch>
  <multipleHeadsFail>false</multipleHeadsFail>
  <tagOnSuccess>true</tagOnSuccess>
  <timeout units="minutes">20</timeout>
</sourcecontrol>

这很有效,直到我们将一些代码推送到我们的存储库并在其中包含一个分支。现在我们的构建失败并出现以下错误:

ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: abort: crosses branches (merge branches or use --clean to discard changes)
. Process command: C:\Program Files\TortoiseHg\hg.exe update -r master --noninteractive
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.ProcessSourceControl.Execute(ProcessInfo processInfo)
   at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Mercurial.Mercurial.GetSource(IIntegrationResult result)
   at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Build(IIntegrationResult result)
   at ThoughtWorks.CruiseControl.Core.IntegrationRunner.Integrate(IntegrationRequest request)

我在错误中找到的所有信息似乎都与执行update

有关

任何人都可以帮忙解决这个问题吗?

我们应该在ccnet.config文件中做些什么来支持Mercurial吗?

1 个答案:

答案 0 :(得分:1)

一些想法: