我使用以下命令列出所有更改集中的所有文件。但是,我想只列出没有重复的文件,并且还要过滤某些文件类型。怎么做?
C:\Windows\system32>tf history /server:http://10.10.30.160:8080/tfs "$/Dev" /recursive /noprompt /format:detailed >C:\History.txt
答案 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#