Как найти наборы изменений TFS, не связанные с рабочими элементами - PullRequest
10 голосов
/ 18 июля 2011

Есть ли способ, с помощью запроса или программно, идентифицировать все наборы изменений TFS, которые НЕ связаны с рабочим элементом?

Ответы [ 3 ]

7 голосов
/ 18 июля 2011

Использование модуля PowerShell в TFS PowerToy:

Из любой интересующей вас папки в рабочей области:

Get-TfsItemHistory . -Recurse | Where-Object { $_.WorkItems.Length -eq 0 }

Это позволит получить историю текущей папки и всех подпапок, а затем отфильтровать пустые списки элементов.

1 голос
/ 15 сентября 2014

Я не знаю о Ответе Ричарда , но принятый ответ занял почти 2 минуты из корня моей коллекции командных проектов. Это выполняется за 10 секунд, если вы ищете конкретного пользователя, и за 47 секунд, если вы этого не делаете.

service.QueryHistory("$/TeamProject/", VersionSpec.Latest,0, RecursionType.Full,userName,null,null, Int32.MaxValue,true,false)
    .Cast<Changeset>()
    .Where(cs=>cs.AssociatedWorkItems.Length==0)

, если вы не ищете конкретного пользователя, просто установите userName в null

http://share.linqpad.net/6sumno.linq

1 голос
/ 18 июля 2011

Конечно, вы можете использовать TFS API, чтобы сделать это очень легко.

public static void GetAllChangesetsWithNoWorkItems()
{
    var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("http://tfs2010/tfs/default"));
    var service = tfs.GetService<VersionControlServer>();

    var histories = service.GetBranchHistory(new ItemSpec[] { new ItemSpec(@"$/ProjectName/MAIN/BUILD", RecursionType.OneLevel) }, VersionSpec.Latest);

    foreach (BranchHistoryTreeItem history in histories[0])
    {
        var change = service.GetChangeset(history.Relative.BranchToItem.ChangesetId, true, true);

        if(change.WorkItems.ToList().Count == 0)
        {
            Debug.Write(String.Format("Work Item Missing for Changeset {0}", change.ChangesetId));
        }
    }
}

Вы можете прочитать этот блог о том, как программно подключиться к TFS API http://geekswithblogs.net/TarunArora/archive/2011/06/18/tfs-2010-sdk-connecting-to-tfs-2010-programmaticallyndashpart-1.aspx

...