TFS API:如何获取文件&x27;什么是历史?
不仅使用TFS API,而且使用.NET客户端库,获取所有变更集、特定变更集,甚至查看文件的特定版本(给定变更集id)非常简单 然而,我似乎不明白的是,给定了文件的名称/路径,以及一个特定的分支,如何检索该文件的变更集历史 我尝试过使用TfvcHttpClient和原始TFSAPI(手工构建http GET请求),但似乎找不到实现这一点的方法 这与在Visual Studio 2017中查看文件的历史非常相似: 我正在寻找一种通过TFSAPI将这些信息返回给我的方法 这可能吗TFS API:如何获取文件&x27;什么是历史?,tfs,visual-studio-2017,Tfs,Visual Studio 2017,不仅使用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源代码管理虽然这可以从理论上回答问题,但在此处包含答案的基本部分,并提供链接供参考。