我正在调用这个方法来为我带来特定文件的更改(“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);
那么ItemSpec
不用于检索特定文件的更改,一旦输入文件项,它将解析项目的路径。请详细了解ItemSpec Constructor (String, RecursionType)。
参数
项目
键入:System.String
要包含在此项目说明符中的项目的路径。
所以,通常你不会得到你指定的唯一文件项,除非它是路径中唯一的更改项...
因此,我们必须获取该变更集中的所有文件项,然后过滤掉特定项...(即使使用REST API,它也将首先获得所有更改...有关详细信息,请参阅Changesets - Get Changeset Changes。)