我在根级别设置了VCS Root的客户端映射,如下所示:
VCS root name: My Main
VCS root ID: Main
client mapping: //Main/... //team-city-agent/...
Main包含多个项目的来源,因此其结构如下:
Main/Project1
Main/Project2
...
然后在Project1的构建定义中,我设置了一个VCS触发器,其规则如下:
+:root=Main:/source/Project1/**
每当我在Main / Project1下签入内容时,我都可以看到构建启动。但是问题是只要在Project2下检查了更改,我就会在Project 1的管理页面上看到Pending Changes编号递增。这非常烦人,我想知道我的设置是否正确。
有没有办法不在Project2中显示挂起的更改?我是否正确设置了VCS Root?
答案 0 :(得分:1)
我不能直接代表Perforce,但我建议您看到所有项目的挂起更改,因为它是检测更改的VCS根(和结帐规则),并且它正在查看完整的源;您的VCS触发器只是将构建运行限制为特定的子集。
您可以尝试在VCS根目录上指定结帐规则:
+:/source/Project1 => .
我已经用它来实现类似的结果,我需要在同一个VCS下的2个解决方案中隔离运行2个版本。