TeamCity Subversion标签

时间:2009-12-30 16:18:59

标签: teamcity

我正在尝试标记由多个签出组成的构建,如下所示:

  

+根
  + -trunk
  + - Folder1中
  + - 文件夹2
  +标签都有效
  + - 项目A
  + ---构建-123
  + ---- Folder1中
  + ---- FOLDER2

其中Build-123中的123是内部版本号。

我正在尝试使用以下标签规则来实现这一目标:

  

/根/中继/ Folder1中=> /根/标签/项目A
  /根/中继/ FOLDER2 => /根/标签/项目A

这种标签模式:

  

建设 - %system.build.number%

我希望TeamCity能够创建BUILD-123标签并将Folder1和Folder2的内容复制到其中。但是我收到以下错误:

  

失败:无法设置标签'BUILD-123':Svn标签失败:无法将'Root / trunk / Folder1','Root / trunk / Folder2'复制到同一目录'Root / tags / ProjectA / CO-BUILD -123'

我正在使用TeamCity 5和Subversion 1.6

3 个答案:

答案 0 :(得分:0)

这似乎是对SVN方面的限制。我发现的唯一解决方案是直接调用SVN来创建目标文件夹(mkdir),然后使用svnCopy将每个源复制到该文件夹​​中。

答案 1 :(得分:0)

请阅读TeamCity's docs有关此主题的信息:

我想你需要像

这样的规则
/Root/trunk=>/Root/Tags/ProjectA

/trunk=>/Tags/ProjectA

取决于您的存储库根目录的位置。

答案 2 :(得分:0)

似乎我们需要有标签规则,例如

trunk => tags       # the trunk contains the root of my project
branches/*/ => tags # a branch usually contains the a copy of the root of the project
tags/*/ => tags     # a tag usually contains the a copy of the root of the project

这将启用(重新)标记分支和标记,而无需显式设置其名称。 遗憾的是,TeamCity没有这样的通用规则