不仅使用TFS API,而且使用.NET客户端库来获取所有变更集,特定变更集,甚至查找文件的特定版本(具有变更集ID)非常简单。
但是,我似乎无法弄清楚的是文件的名称/路径,以及特定的分支是如何检索该文件的变更集历史记录。
我尝试同时使用TfvcHttpClient和原始TFS API(手动构建我的http GET请求),但似乎无法找到实现此目标的方法。
这与在Visual Studio 2017中查看文件的历史非常相似:
我实际上是在寻找一种通过TFS API将信息返回给我的方法。
这可能吗?
谢谢!
答案 0 :(得分:2)
其他API请求:
{tfsurl}/{project}/_api/_versioncontrol/history"
在请求正文中:
{repositoryId: "", searchCriteria: "{"itemPath":"$/YourProject/YourFile","itemVersion":"T","top":50}"}
它将从您的身体返回itemPath
的历史记录。
可悲的是,我很难找到与此有关的任何文档:/
答案 1 :(得分:0)
我在这里找不到对tfvc的任何历史记录请求-Rest Api TFVC Version Control。
作为解决方法,您可以尝试运行tf.exe history并解析输出。
答案 2 :(得分:0)
根据您使用的API版本,这是变更集的参考信息。
核心网址是: GET {tfsurl} / {organization} / {project} / _ apis / tfvc / changesets?api-version = 5.0
答案 3 :(得分:0)
您也可以使用TfvcHttpClientBase.GetChangesetsAsync和TfvcChangesetSearchCriteria的ItemPath属性来完成此操作
这是Powershell中的一个例子
$tfvcSearchCriteria = [Microsoft.TeamFoundation.SourceControl.WebApi.TfvcChangesetSearchCriteria]::new()
$tfvcSearchCriteria.FollowRenames = $true
$tfvcSearchCriteria.ItemPath = $ItemPath
$result = $TfvcHttpClient.GetChangesetsAsync($null, $null, $null, $null, $tfvcSearchCriteria).Result