TFS:列出所有更改集中的所有唯一文件,并按文件类型和更改集日期进行筛选

时间:2017-01-16 13:32:52

标签: tfs

我使用以下命令列出所有更改集中的所有文件。但是,我想只列出没有重复的文件,并且还要过滤某些文件类型。怎么做?

C:\Windows\system32>tf history /server:http://10.10.30.160:8080/tfs "$/Dev" /recursive /noprompt /format:detailed >C:\History.txt

1 个答案:

答案 0 :(得分:1)

简单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#