Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/mercurial/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将SVN子回购添加到Mercurial后出现TeamCity错误_Svn_Mercurial_Teamcity_Mercurial Subrepos - Fatal编程技术网

将SVN子回购添加到Mercurial后出现TeamCity错误

将SVN子回购添加到Mercurial后出现TeamCity错误,svn,mercurial,teamcity,mercurial-subrepos,Svn,Mercurial,Teamcity,Mercurial Subrepos,我将SVN项目作为子存储库添加到Mercurial项目中(按照说明),现在TeamCity无法构建Mercurial项目。我得到以下错误: [Updating sources] Failed to build patch for build #???, VCS root: "mercurial: https://myrepo" {instance id=41, parent internal id=22, parent id=mercurial_repo_id, description: "me

我将SVN项目作为子存储库添加到Mercurial项目中(按照说明),现在TeamCity无法构建Mercurial项目。我得到以下错误:

[Updating sources] Failed to build patch for build #???, VCS root: "mercurial: https://myrepo" {instance id=41, parent internal id=22, parent id=mercurial_repo_id, description: "mercurial: https://myrepo"}, due to error: Cannot build patch: ClientAbortException:  java.io.IOException

[Updating sources] Problem while loading patch data stream: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)

Problem while loading patch data stream: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)

java.io.IOException: Failed to obtain stream from server. Server status: 504 (Gateway Time-out)
当我在本地克隆回购协议时,一切正常,但TeamCity没有看到子回购协议,并且在变化图中也没有子回购协议。我尝试添加不同的构建步骤,但没有帮助。我还尝试将TeamCity中的VCS签出模式更改为代理签出,但由于自签名证书,出现了另一个错误:

Failed to perform checkout on agent: 'hg --config ui.interactive=False clone -U --uncompressed https://...' command failed.
stderr: abort: could not find web.cacerts: /etc/ssl/ca-bundle.pem
但是,签出模式不应该是错误的原因,因为此类问题已在TeamCity的8版本中得到解决(我们使用8.0.6)

我应该如何配置TeamCity在Mercurial回购中与SVN subrepo合作

谢谢

UPD:


我终于找到了答案:我认为在代理上执行签出时需要修复错误(添加证书或强制其信任所有人),问题解决了

我没有对SVN subrepos进行过此操作,但我对hg subrepos进行过此操作,但诀窍是teamcity server的hgrc文件需要配置为静默获取SVN repo,因此您可能需要提供身份验证信息,也可能需要信任hgrc文件中的证书

SVN回购协议也添加到TeamCity,因此TeamCity拥有认证信息。这还不够吗?如果没有,这个文件在哪里?不幸的是,我不擅长TeamCity管理。这里的诀窍是TC不签出SVN回购,HG客户端是,它无法访问TC。另一种方法是跳过子回购,直接将SVN回购添加到TeamCity项目中。这可能会失去hg subs拥有的“在特定修订时修复”功能。请分享您的经验,并提供一系列让TeamCity检测subrepos的步骤。如果我找不到解决方法,我将放弃subrepos,但我希望有一个解决方案