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