TFS Changeset несколькими пользователями

1

Я работаю с TFS API, чтобы все рабочие элементы были связаны со всеми наборами изменений между конкретным месяцем. Затем через объекты changeet я использовал свойство commiterDisplaName для фильтрации определенной группы пользователей: "foo1, foo2, foo3".

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

Есть ли способ в TFS API, где я могу получить только набор изменений, сделанный несколькими пользователями напрямую? Я искал через MSDN на этом, но до сих пор не повезло на этом.

Это, несомненно, уменьшит фильтрацию цикла через имя пользователя, которое очень трудоемко.

Благодарю.

Теги:
tfs
tfs-sdk
tfs2012

1 ответ

1
Лучший ответ

VersionControlServer.QueryHistory имеет перегрузку подписи

public IEnumerable QueryHistory(
    string path,
    VersionSpec version,
    int deletionId,
    RecursionType recursion,
    string user,
    VersionSpec versionFrom,
    VersionSpec versionTo,
    int maxCount,
    bool includeChanges,
    bool slotMode
)

Обратите внимание на пользователя 5-го параметра. Таким образом, вы можете запрашивать списки изменений конкретного пользователя как

var changesets = vcServer.QueryHistory(
    "<your local path>", VersionSpec.Latest, 0, RecursionType.Full,
    @"domain\user", null, null, 10, false, false);

Однако этот параметр user не поддерживает нескольких пользователей. Я не думаю, что любой другой TFS API поддерживает несколько пользователей. Таким образом, вы можете циклически перебирать список пользователей и извлекать хронометры каждого пользователя. Существует еще цикл, но он должен намного быстрее по сравнению с запросом всех наборов изменений.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню