使用Visual Studio Online/TFS 2015 Api创建TFS源分支

3
有人知道如何使用VSO Api创建分支吗?分支的文档中没有包括“创建”选项。我一直在尝试通过变更集Api实现,但效果不佳。这是TFVC,而不是Git。
2个回答

4

谢谢提供这个信息。我没有意识到我可以在TFS 2015中使用那个旧的客户端对象模型。 - Andy McCluggage
@EddieChen-MSFT +1 谢谢您提供的信息。我能否获得任何样例/演示来开始使用?任何链接都将不胜感激。 - Jayendran

1
REST API 显然允许创建分支。 混淆的是,人们认为这将是对某种分支端点进行的PUT操作。 它不是。
在 REST API 中,分支只是作为变更集的一种变更而被检入的。
我自己花了很长时间才发现这一点;而且我当时正在使用旧的 SOAP API,因为从我在 WWW 上找到的 Q&A 中可以看出,大家都认为这不是 REST API 的一部分。 当然,使用 SOAP API 会禁止使用 .NET 5,因为程序集仅适用于 .NET Framework。 在放弃开发的运行时上放弃开发的 API 并不是与源代码控制交互的令人满意的方式。 ☺
Azure DevOps 的文档糟糕透顶,除了一个隐藏在某个不重要的类里、连完整句子都算不上的模糊提示"(关于重命名或创建分支时合并源列表的说明)" 之外,没有任何线索。唯一其他的线索来自描述已创建分支的变更集的 更改集变更 JSON。另外,已经停止更新的 Azure DevOps 示例代码 中甚至没有删除项目、更不用说创建分支的例子了。
更改集通过更改集创建终结点进行检入。 单个更改是更改集更改列表中的TfvcChange,其中: 将英文翻译成中文:

整个树形结构的分支似乎是将目录及其目录下的所有文件和子目录都进行分支。

在 C♯ 或 PowerShell 中,这可以通过使用 TfvcChange,将 VersionControlChangeType 设置为 Branch,并将其传递给 TfvcChangeset,最后调用 TfvcHttpClientBase.CreateChangesetAsync() 来实现。


我不记得为什么会问这个问题,但是这个答案太棒了。非常有道理。我希望有人会发现它很有用。 - Andy McCluggage

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接