【发布时间】:2016-04-09 06:09:30
【问题描述】:
【问题讨论】:
标签: tfs-2015 azure-devops tfvc
【问题讨论】:
标签: tfs-2015 azure-devops tfvc
正如您在“分支”页面中看到的那样,没有任何方法可以使用 Rest API 创建分支。大多数情况下,您现在只能使用版本控制 API 读取/获取信息。
如果您想以编程方式管理版本控制,我建议您使用Client Object Model Reference 。要创建分支,请使用Microsoft.TeamFoundation.VersionControl.Client.VersionControlServer 类中的“CreateBranch()”方法。
【讨论】:
REST API 显然允许创建分支。
令人困惑的是,人们认为这将是对the Branches endpoint 的某种PUT 操作。
不是。
在 REST API 中,分支只是作为变更集的一部分签入的另一种变更。
我自己花了很长时间才发现这一点;我使用旧的 SOAP API 是因为我相信其他所有人都认为这不是 REST API 的一部分。 当然,使用 SOAP API 禁止使用 .NET 5,因为程序集仅适用于 .NET Framework。 放弃软件运行时上的放弃软件 API 不是与源代码控制对话的令人满意的方式。 ☺
可怕Azure DevOps 文档没有提供任何线索,除了隐藏在一个小类中的 1 个模糊的 not-even-a-complete-sentence:@987654322 @ 唯一的其他线索是 JSON 中出现的内容,来自 get changeset changes,它描述了已创建分支的变更集。 Azure DevOps sample code(也被放弃了)甚至不包含删除项目的示例,更不用说分支了。
变更集通过the changeset creation endpoint 签入。
单个更改是更改集更改列表中的 TfvcChange,其中:
分支整个树似乎是分支目录和目录中所有文件和目录的问题。
在 C♯ 或 PowerShell 中,这是一个带有 VersionControlChangeType 的 Branch 的 TfvcChange,在 TfvcChangeset 中传递给 TfvcHttpClientBase.CreateChangesetAsync()。
【讨论】: