我为此查看了 SO 档案,虽然有很多类似的问题,但没有什么能真正回答我的具体问题。
我们使用 git 作为 VCS,并且我希望能够启动远程构建,其中源树正好是本地用户机器上的任何内容的镜像,包括他们所做的任何本地修改。如果我只是按照此处的说明进行操作,那么我无法告诉它要在哪个版本上应用补丁。实际上,有几次我尝试完全按照文档中的描述做事,但在构建日志中出现“无法应用补丁”的错误。
我觉得我需要在“更改 > 包含更改”下拉框中选择某些内容的 REST 等效项。这样我可以选择我想成为 VCS 根的确切 git 哈希,这应该保证补丁可以干净地应用在它上面。
我该怎么做呢?我不太了解<lastChanges>
xml 标签。
<lastChanges>
<change id="{id_returned_from_uploading_diff}" personal="true"/>
</lastChanges>
我可以在这个 blob 中添加一些东西,以便将补丁应用到特定的 git 哈希之上吗?不幸的是,更改“id”本身并不是真正的 git 哈希,例如,给定一个 git 哈希,我可以使用如下查询
https://<teamcity-server>/app/rest/changes?locator=version:<git-hash>
并以完全相同的 git 哈希返回许多不同“更改 id”的列表,我觉得这有点令人困惑,因为现在我不知道要使用哪个更改 id。
无论如何,希望有人可以为我澄清这一点。