в TFS GetChangesForChangeset возвращает другой файл в элементе вместо запрашиваемого файла - PullRequest
0 голосов
/ 14 сентября 2018

Я вызываю этот метод, чтобы внести изменения для определенного файла ("test.resx.cs") тем не менее, он приносит мне другой файл в рабочем месте ("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);

1 Ответ

0 голосов
/ 17 сентября 2018

Что ж, ItemSpec не используется для извлечения изменений для определенного файла, после ввода элемента файла он проанализирует путь к элементу. Пожалуйста, смотрите ItemSpec Constructor (String, RecursionType) для подробностей.

Параметры

пункт

Тип: System.String

Путь элемента для включения в этот спецификатор элемента.

Таким образом, обычно вы не получите единственный указанный вами элемент файла, если только это не единственный элемент изменения в пути ...

Итак, мы должны получить все элементы файлов в этом наборе изменений, а затем отфильтровать конкретный элемент ... (Даже используя REST API, он также сначала получит все изменения ... Пожалуйста, посмотрите Наборы изменений - Получить изменения набора изменений для деталей.)

...