检测到repo更改时调用hg init的TeamCity hg构建配置

时间:2015-07-31 14:33:02

标签: windows mercurial teamcity

在TeamCity 9(windows)中,我有一个现有的hg repo,我想将其整合到一个新的TC项目中。 但是,当构建代理运行时,我收到错误,表明正在尝试'hg init'回购。 错误消息是: “C:\ code \ xxxx \”}:'hg init'命令失败。 stderr:abort:repository。已经存在! “

这似乎是非常基本的配置问题,我在旧版TC中执行了此设置..

根据要求更新了更多信息:

VCS root的“HG命令路径”为“hg”

最新的构建日志是:

Build 'TestProject :: TestBuildConfig' #7
Started 'Tue Aug 04 12:26:18 BST 2015' on 'PCUKDZKBP32' by 'James (tcadmin)'
Finished 'Tue Aug 04 12:26:18 BST 2015' with status 'FAILURE Unable to collect changes'
TeamCity URL http://localhost:8090/viewLog.html?buildId=24&buildTypeId=TestProject_TestBuildConfig 
TeamCity server version is 9.1 (build 36973)

[12:26:18]i: TeamCity server version is 9.1 (build 36973)
[12:26:18]E: bt2
[12:26:18] : Collecting changes in 1 VCS root
[12:26:18] :     [Collecting changes in 1 VCS root] VCS Root details
[12:26:18] :         [VCS Root details] "TestRoot" {instance id=20, parent internal id=2, parent id=TestProject_TestRoot, description: "mercurial: c:\code\TestProject\"}
[12:26:18]i:     [Collecting changes in 1 VCS root] Loading current repository state for VCS root 'TestRoot'
[12:26:18]i:         [Loading current repository state for VCS root 'TestRoot'] VCS root 'TestRoot': [C:\Windows\System32\config\systemprofile\.BuildServer\system\caches\mercurial\hg_4258089649368462685] hg init
[12:26:18]E: Failed to collect changes, error: 'hg init' command failed.
stderr: abort: repository . already exists!

[12:26:18] : Build finished

2 个答案:

答案 0 :(得分:0)

这种情况正在发生,因为结帐目录已存在且未更新。我认为以下解决方案应该是摆脱这个错误所需的全部。

在您的TeamCity配置中,重定向到"编辑项目构建配置"选项卡,您可以在其中设置此构建配置。

在您的构建配置中,单击左侧的VCS选项卡,该选项卡将显示已连接的VCS存储库到该配置。

在这个页面上有一个小的CheckBox,上面写着"在结帐/构建之前清理所有文件"勾选并运行您的构建,它应该删除已下拉并再次下载的所有现有存储库实例。

答案 1 :(得分:0)

我遇到了类似的问题,这让我发疯了。它发生在TeamCity v9.1.1的两个不同的新实例上。

最后我安装了v9.0.4的新版本,每次都成功运行。

我计划今天将实例升级到v9.1.1并查看是否有中断。所以看起来这可能是TC本身的一个问题。