2010-08-17 4 views
4

Я пытаюсь получить все рабочие элементы между двумя сборками. Я вижу только один способ сделать эту работу - получить начальные и конечные изменения и получить рабочий элемент для каждого. Проблема, которую я имею, - это получить набор наборов изменений из номера сборки. Я пробовал использовать связанные с набором изменения, но это не работает, так как он только получает набор изменений для этой сборки, а не один из них.Получение наборов изменений между конкретными сборками

Может ли кто-нибудь помочь?

+0

Похоже, ответ был предоставлен этот точный вопрос: http://stackoverflow.com/questions/3821734/show-all-changesets -between-две метки. –

+1

Вы используете TFS? – JBone

ответ

3

Этот код будет получить все наборы изменений между двумя метками:

Console.WriteLine("Enter the first build label:"); 
var firstVersion = Console.ReadLine(); 
Console.WriteLine("Enter second build label:"); 
var secondVersion = Console.ReadLine(); 

var server = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri("TFS SERVER INSTANCE")); 
var hyperlinker = server.GetService<TswaClientHyperlinkService>(); 

var versionService = server.GetService<VersionControlServer>(); 
var changesets = versionService.QueryHistory(@"$/EntDev", VersionSpec.Latest, 0, RecursionType.Full, null, 
         VersionSpec.ParseSingleSpec("L" + firstVersion, null), 
         VersionSpec.ParseSingleSpec("L" + secondVersion, null), 
         Int32.MaxValue, 
         false, 
         false); 
var workItems = new List<WorkItem>(); 
foreach (Changeset changeset in changesets) 
{ 
    var link = hyperlinker.GetChangesetDetailsUrl(changeset.ChangesetId); 
    Console.WriteLine("#" + changeset.ChangesetId.ToString() + " - " + changeset.Comment + " - " + link.ToString()); 

    workItems.AddRange(changeset.WorkItems); 
} 
foreach (var item in workItems) 
{ 
    var link = hyperlinker.GetWorkItemEditorUrl(item.Id); 
    Console.WriteLine("WI#" + item.Id + " - " + item.Title + " - " + link.ToString()); 
} 
Console.ReadLine(); 
Смежные вопросы