TFS API:如何获取文件&x27;什么是历史?

TFS API:如何获取文件&x27;什么是历史?,tfs,visual-studio-2017,Tfs,Visual Studio 2017,不仅使用TFS API,而且使用.NET客户端库,获取所有变更集、特定变更集,甚至查看文件的特定版本(给定变更集id)非常简单 然而,我似乎不明白的是,给定了文件的名称/路径,以及一个特定的分支,如何检索该文件的变更集历史 我尝试过使用TfvcHttpClient和原始TFSAPI(手工构建http GET请求),但似乎找不到实现这一点的方法 这与在Visual Studio 2017中查看文件的历史非常相似: 我正在寻找一种通过TFSAPI将这些信息返回给我的方法 这可能吗 谢谢 我在这里找

不仅使用TFS API,而且使用.NET客户端库,获取所有变更集、特定变更集,甚至查看文件的特定版本(给定变更集id)非常简单

然而,我似乎不明白的是,给定了文件的名称/路径,以及一个特定的分支,如何检索该文件的变更集历史

我尝试过使用TfvcHttpClient和原始TFSAPI(手工构建http GET请求),但似乎找不到实现这一点的方法

这与在Visual Studio 2017中查看文件的历史非常相似:

我正在寻找一种通过TFSAPI将这些信息返回给我的方法

这可能吗


谢谢

我在这里找不到任何tfvc的历史记录请求-

作为解决方法,您可以尝试运行和分析输出。

Rest API请求:

{tfsurl}/{project}/_api/_versioncontrol/history" 
在请求机构中:

{repositoryId: "", searchCriteria: "{"itemPath":"$/YourProject/YourFile","itemVersion":"T","top":50}"} 
它将从您的身体返回
itemPath
的历史记录


遗憾的是,我很难找到任何关于这方面的文档:/

根据您使用的API版本,以下是变更集的参考信息

核心url是: 获取{tfsurl}/{organization}/{project}/\u api/tfvc/changesets?api version=5.0

您还可以使用和的ItemPath属性执行此操作

下面是Powershell中的一个示例

 $tfvcSearchCriteria = [Microsoft.TeamFoundation.SourceControl.WebApi.TfvcChangesetSearchCriteria]::new()
 $tfvcSearchCriteria.FollowRenames = $true
 $tfvcSearchCriteria.ItemPath = $ItemPath

 $result = $TfvcHttpClient.GetChangesetsAsync($null, $null, $null, $null, $tfvcSearchCriteria).Result

是的,你说得对。这里也有同样的答案:@D.J.就是这个!疯狂的是,没有关于这个的文档。大多数开发人员将要做的事情(从文件的角度查看更改历史)没有文档记录。如果没有文档记录,那么你怎么知道的?@MichaelMcCarthy如果我知道tfs/devops的web门户可以为我提供rest api文档中找不到的功能或数据,我会打开webdeveloper工具并从浏览器跟踪请求和响应。这可能行得通,但出于我的喜好,我不得不多次依赖它:/为了进一步澄清,这是2017年TFS,我没有使用Git(我的shigrin非常喜欢)。使用所有TFS源代码管理虽然这可以从理论上回答问题,但在此处包含答案的基本部分,并提供链接供参考。