Revision(修订)
一次 修订 指的是版本控制历史的特定状态;基本上,它是源代码的一个版本。 当发生变更时,它们通常由数字或字母代码标识,被称为“修订”。
当展示已完成或排队的构建中包含的 更改时,TeamCity 也会显示相应的修订版本。 这个页面解释了 TeamCity 如何为构建选择 VCS 版本。
TeamCity 在您为 项目 或 构建配置 添加新的 VCS 根目录 ,或者在您 修改设置 已存在的 VCS 根目录时,会记住当前的仓库修订版本。
之后,TeamCity 不会监控整个存储库,而是仅收集 TeamCity 中指定范围内的存储库更改:配置的 VCS 根设置和 检出规则。
与影响您的构建的最新检测到的更改相对应的源代码修订将显示为 更改页面上的 VCS 根修订,您可以通过 项目 页面上的链接或 更改选项卡上的 构建结果 访问。
在检测到任何 VCS 根中的新提交后,TeamCity 会将此提交分配给逐渐增加的内部 ID。 TeamCity 服务器上检测到的所有提交都按这些 ID 进行排序。
当开始构建时,TeamCity 扫描构建的 VCS 根,并为每个根签出对应于具有最新 ID 的提交的版本,这是根据内部排序来的。 这样,TeamCity 会根据它们最新提交的 ID 来对源修订进行排序。
比如,可以用来区分一个 历史构建 ,这是一个其最高序修订比任何早些运行的构建都要低的构建。
如果自从上次检测到的更改以来,VCS 根的设置已经修改过,那么在 TeamCity 中的修订版将与新配置的 VCS 根中的最后一次更改不同。 TeamCity对这个新根中的上一次更改没有任何信息,所以它开始用新设置监控更改,并将构建版本设置为首次发现的更改。 在发现更改之前,无法获取存储库的任何其他修订版本,只能获取当前的修订版本。 因此,尽管 TeamCity 构建了源代码的正确版本,但在 VCS 根更改后的第一个构建的版本将不等于指定路径下的最后一次更改。