轻松测试分支配置设置

Easily test branch configuration settings

如果某个分支与 Team City 设置中的以下分支配置相匹配,我是否可以轻松地从 CLI 进行测试?我假设这个分支配置实际上依赖于一些 Git 内部结构。

+:refs/heads/develop
+:refs/heads/xmas-lottery-hotfix-branch
+:refs/heads/hotfix*

例如,我想测试 hotfix/foo 是否会被此配置覆盖,或者我是否需要更改它。简单地将空提交发送到各个分支并查看它是否触发 TC 中的构建并不是简单快速的测试,尽管这也很有效......

此菜单将列出 TeamCity 使用您的分支配置设置检测到的每个分支。每次轮询 VCS 根时它都会更新;默认情况下每 60 秒一次。

上面的配置直接引用了git的文件系统布局。如果你深入你的克隆仓库的 .git 文件夹,你会发现一个 refs 文件夹包含几个目录和子目录。这些对应于本地(在 heads)和远程分支。它们还可能包含其他特殊分支(例如 GitHub 上的 pulls)。

要检查配置是否匹配一个或多个分支,您可以使用 shell 提供给您的正常选项(此处使用我本地 Sinon 存储库中的 Bash):

echo sinon/.git/refs/*/*zam*
sinon/.git/refs/heads/zamnuts-restore-etters-1124 sinon/.git/refs/remotes/zamnuts

这表明 refs/*/*zam* 的分支说明符将匹配这两个分支(一个本地签出拉取请求和一个远程分支)。根据您的需要修改它应该很容易。