【发布时间】:2017-05-31 08:41:01
【问题描述】:
我使用以下命令列出所有变更集中的所有文件。但是,我只想列出没有重复的文件,并过滤某些文件类型。该怎么做?
C:\Windows\system32>tf history /server:http://10.10.30.160:8080/tfs "$/Dev" /recursive /noprompt /format:detailed >C:\History.txt
【问题讨论】:
标签: tfs
我使用以下命令列出所有变更集中的所有文件。但是,我只想列出没有重复的文件,并过滤某些文件类型。该怎么做?
C:\Windows\system32>tf history /server:http://10.10.30.160:8080/tfs "$/Dev" /recursive /noprompt /format:detailed >C:\History.txt
【问题讨论】:
标签: tfs
这无法通过简单的History command 实现。
你需要使用 TFS API 来获得你想要的东西。首先列出文件并键入,从特定的变更集 ID 创建日期。然后根据需要对信息进行排序。
这里有一些示例 C# 代码,它将选择所有已编辑、添加和删除的文件的文件名:
Uri serverUri = new Uri("http://mytfsserver:8080/");
TfsTeamProjectCollection tpc = new TfsTeamProjectCollection(serverUri);
tpc.EnsureAuthenticated();
VersionControlServer vcs = tpc.GetService<VersionControlServer>();
var changeset = vcs.GetChangeset(changesetId);
var changedFiles = from change in changeset.Changes where
( (change.ChangeType & ChangeType.Edit) == ChangeType.Edit
|| (change.ChangeType & ChangeType.Add) == ChangeType.Add
|| (change.ChangeType & ChangeType.Delete) == ChangeType.Delete)
select change.Item.ServerItem;
另一个例子供你参考:Get Changeset and all it's changes on TFS using c#
【讨论】: