“交叉分支” Mercurial 和 CruiseControl.Net 错误

发布于 2024-10-16 06:04:35 字数 1509 浏览 3 评论 0原文

我们正在迁移到 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)

我能找到的有关该错误的所有信息似乎都与执行更新有关。

任何人都可以帮忙克服这个问题吗?

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

We are migrating to Mercurial, and of course, we need to update our CruiseControl.Net build process to use it instead of Visual SourceSafe.

We updated our CruiseControl config file with the following block:

<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>

This worked well until we pushed some code to our repository with a branch in it. Now our build fails with the following error:

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)

All the information I can find on the error appears to pertain to doing an update.

Can anyone help out with getting past this?

Is there something more we should be doing in our ccnet.config file to support Mercurial?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

南风几经秋 2024-10-23 06:04:35

一些想法:

Some ideas:

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文