使用不属于同一文件夹的多个存储库时,无法正确配置teamcity与mercurial一起使用

时间:2011-09-07 08:32:01

标签: mercurial teamcity

我正在尝试设置TeamCity构建服务器。我也在使用mercurial存储库。

我的项目结构是:

Main Folder
 -Windows Form Application Repository
 -Class library 1 Repository
    -files subrepo 1
    -files subrepo 2
    -files subrepo 3
 -Class library 2 Repository

我在teamcity中创建了一个项目,在没有指定checkout目录的情况下将3 VCS添加到项目中,结果是来自一个checkout目录中所有3个存储库的文件,导致构建错误。 然后我去了,并将每个VCS的checkout目录更改为C:\ Projects。这导致了正确的文件夹结构,但没有文件(就像hg pull操作已经完成但没有hg更新)。

有没有人有类似的经历,因为我找不到任何抱怨这种情况的人。

2 个答案:

答案 0 :(得分:2)

您可以为每个存储库设置结帐规则。表格的结帐规则

+:.=>subdir

将您的存储库的所有内容检出到指定的子目录(请参阅 here了解详情。

据我所知,您的'类库1存储库'有3个子存储库。目前,服务器端检出不支持子存储库,代理端检出不支持结账规则(这里是issue投票/监管)。

作为一种变通方法,您可以为每个子存储库创建单独的VCS根目录,但在这种情况下,TeamCity会检出您的最新版本的存储库,而不是来自 .hgsubstate。

答案 1 :(得分:0)

您应该可以使用根文件夹中的单个.hgsub来完成所有这些操作,该文件夹将自动引入您的所有其他回购。您应该在TeamCity中有一个从根目录中提取的VCS根目录。