我们在这里使用repos的方式很奇怪(恐怕我几乎无法控制它),其中根repo包含多个项目…没有花哨的东西,比如trunk/tags/branches文件夹…(我很难过)。
例如,结构是这样的:
http://my.svn.root/main
|-- /Project1
|-- /Project2
...
等等…
现在,在文件夹上执行svn log
将给我该文件夹中的最新版本号。问题是,TeamCity似乎在根上做svn info
,所以即使我像这样指定VCS根:
http://my.svn.root/main/Project1
%build.vcs.number%
属性似乎是从repo的main
根中挑选的,因此在Project2中的提交实际上会推进该数字(这不是我想要的)。
是否有办法告诉TeamCity使用子文件夹最新提交号而不是根版本?或者是一个不同的性质?
谢谢!
嗯,显然这都是由于VCS的根设置。基本上,最好的选择是将根目录设置为主目录,然后编辑签出规则:
VCS root: http://my.svn.root/main
checkout rules: +:Project1=>.
在构建触发方面,这似乎更稳定,响应也更快。