在TFS中,GetChangesForChangeset返回项目中的其他文件而不是查询文件

问题描述 投票:0回答:1

我正在调用这个方法来为我带来特定文件的更改(“test.resx.cs”),但是,它给我带来了workitem中的另一个文件(“test.resx”)。

但是如果我将ItemSpec设置为null,那么将返回所有已更改的文件,包括“test.resx.cs”。但这并不好,因为我必须将所有文件项目放在该变更集中,这会使其变慢。

 _versionControlServer.GetChangesForChangeset(changeSet.ChangesetId, false, 200, new ItemSpec("test.resx.cs", RecursionType.Full), new string[]{ "ItemId", "ServerItem", "DownloadUrl" },true);
c# tfs tfs-sdk tfs-analysis
1个回答
0
投票

那么ItemSpec不用于检索特定文件的更改,一旦输入文件项,它将解析项目的路径。请详细了解ItemSpec Constructor (String, RecursionType)

参数

项目

键入:System.String

要包含在此项目说明符中的项目的路径。

所以,通常你不会得到你指定的唯一文件项,除非它是路径中唯一的更改项...

因此,我们必须获取该变更集中的所有文件项,然后过滤掉特定项...(即使使用REST API,它也将首先获得所有更改...有关详细信息,请参阅Changesets - Get Changeset Changes。)

© www.soinside.com 2019 - 2024. All rights reserved.