TeamCity 未决更改

TeamCity Pending Changes

我在根级别设置了 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?

我不能直接代表 Perforce,但我建议您查看所有项目的未决更改,因为它是检测更改的 VCS 根目录(和签出规则),它正在查看完整的源代码;您的 VCS 触发器只是限制构建 运行 的特定子集。

您可以尝试在 VCS 根上指定一个签出规则:

+:/source/Project1 => .

我已经使用它实现了相似 结果,我需要在同一 VCS 下跨 2 个解决方案隔离地构建 2 个 运行。