visual-studio-2015 - 获取特定变更集的唯一文件列表
问题描述
有没有办法获取特定变更集的唯一文件列表?使用任何前端技术,如 jquery。例如 - 我想检索所有文件列表,其中更改集没有 2223、2224、2250 的路径,例如 -
tfs\prod\072418\yellow.aspx
tfs\prod\072418\bg.jpeg
tfs\prod\072418\sent.xml
tfs\prod\072418\home.cs
解决方案
您可以轻松地在特定变更集中获得整个工作区。您将映射一个新工作区,然后获取特定版本的源。
看起来您可能正在寻找“只是更改的文件”,基本上是更改集本身的内容。这实际上更难。它也可能是错误的追求。让我们先调查一下,好吗?
当您打开任何 TFVC 变更集的变更集详细信息时,您将看到与该变更集关联的文件列表。出于您的目的,任何edit
和add
操作都将是更改的文件。但是任何delete
或merge
其他项目将导致文件内容未更改或文件不再存在。
如果您只对列出更改(而不是文件的内容)感兴趣,那么您可以从命令行使用:
C:\Users\JesseHouwing\Source\Workspaces\>tf changeset 29 /noprompt
Changeset: 29
User: Jesse Houwing
Date: Thursday, 14 September 2017 20:02:54
Comment:
Items:
delete, source rename $/vsts-tfvc-tasks-test/changes.122204;X2
rename $/vsts-tfvc-tasks-test/changes.122204,old
它将列出所有项目以及对它们执行的操作类型。您可以使用以下方法保存单个文件tf vc view
:
C:\Users\JesseHouwing\Source\Workspaces\>tf vc view /output:changes.122204,old changes.122204,old /version:c29
没有内置命令只会获取单个变更集的文件。如果您愿意,可以使用 object 和 powershell相对VersionControlServer
轻松地完成它。或者通过调用上述tf vc
命令并解析它们的输出。
要通过 API 执行此操作,您有两种选择:
休息
如果您正在与最近的 TFS 服务器/VSTS 通话,则可以使用REST API 查询 TFVC 变更集以获取其详细信息。这是未来的首选方法。直接使用 WebClient (.NET) 或 Invoke-RestMethod (Powershell) 或任何其他 Web 客户端。开始使用 REST API的指南在此处。
SOAP 客户端
如果您正在使用旧的 TFS 服务器或需要同时支持新旧服务器,那么您可以使用客户端对象模型来访问 Changeset。
var projectCollection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(registeredProjectCollection);
var versionControl = projectCollection.GetService<VersionControlServer>();
推荐阅读
- javascript - 无法修复警告检测到重复键:“0”。这可能会导致更新错误
- amazon-web-services - 使用 Google Cloud Vision 人脸检测 API 的误报太多
- c++ - c++ 中没有getter setter的访问成员
- c - UndefinedBehaviorSanitiser 问题 - CS50 Vigenere
- swift - 将 INNER JOIN 查询从 SQLite 转换为 SQLite.Swift
- tensorflow - 如何在flask中同时预测由tensorflow(.pb)模型和keras模型(.h5)组成的多个模型?
- python-3.x - 请求库引发 urllib 连接错误
- java - 我的 ConnectFour 游戏在正方形网格但不在矩形网格中时有效
- ruby-on-rails - 对危险方法爆炸的规则感到困惑
- kubernetes-apiserver - preStop hook inside pod using K8s API