2010-09-17 50 views

回答

0

尽管我不能确定teamcity是如何以多个负责人结束的,也许在teamcity执行构建时有一个签入,但最终确实有多个负责人。因为它每次尝试推送结束失败时都会重复使用同一个mercurial目录。解决方案是删除在版本控制设置页面上设置的mercurial cache目录中的所有目录。然后重新启动teamcity。这给了一个干净的diretcory和一切按计划工作。

+0

我有一个CruiseControl.NET类似的问题,我们的构建需要30分钟,并在构建开始的时候,当它完成时,如果有人提交/推到中央仓库,它会打破构建与多头失败 – bwknight877 2011-05-09 19:25:48

2

在Mercurial中,hg tag创建一个更新集,更新.hgtags。这听起来像你的父母不是分支头,所以hg tag将创建一个分支,并且默认情况下不能推新分支头。只是一个猜测...发布一个示例脚本来说明问题。

0

您可以拉动远程存储库并使用hg heads查看哪些头在哪里,谁创建的,以及是否要合并它们。

1

TeamCity尝试将标记更改签入到mercurial中,但由于用于结帐/签入的帐户更改而失败,这发生在我们身上。 TeamCity不知道如何合并变更集,因此它只是继续下载新的变更集,构建,然后尝试检查未合并的变更集,从而导致您看到的错误。

从buildserver中删除缓存是恢复的最简单方法。

+0

是的,这就是我们发现的最后。 – 2010-09-28 12:31:39

0

我相信这是因为你的'默认'分支已关闭或合并到另一个分支。当推送在分支中创建新头时,TeamCity不强制推送并失败。

在版本8.0之前,TeamCity用于将分支'default'忽略VCS根设置,在8.0中它使用标记提交的分支。

相关问题