Как сгруппировать ресурсы, участвующие в конкретном наборе изменений? - PullRequest
1 голос
/ 20 февраля 2012

Как я могу запросить историю tfs, чтобы получить такой результат: сгруппировать ресурсы, участвующие в наборе изменений? Я пытаюсь понять, какие файлы изменились, например, за последние 2 месяца. Я пробовал на TFS Explorer, но я могу получить детали только из одного набора изменений. То же самое для TFS Sidekicks. Мне не повезло с командной строкой и даже не подключился напрямую к базе данных. Кто-нибудь знает умный способ получить этот результат?

1 Ответ

4 голосов
/ 20 февраля 2012

Я не уверен, как получить VersionTo и VersionFrom, поэтому я просто делаю с версии 100 до Latest здесь.Вы можете использовать Source Control Explorer, чтобы сделать View History и получить ваши VersionFrom и VersionTo.

. Вот фрагмент кода, который использует TFS API.Вам нужно будет добавить несколько ссылок на Microsoft.TeamFoundation.* сборок, чтобы получить его для сборки.

using (var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(CollectionAddress)))
{
    var server = tfs.GetService<VersionControlServer>();

    var changes = 
        server.QueryHistory(
          "$/Project/Main",
          VersionSpec.Latest,
          0,
          RecursionType.Full,
          "",
          VersionSpec.ParseSingleSpec("100", ""), //From ??
          VersionSpec.Latest,                     //To ??
          100,
          true,
          true)
    .Cast<Changeset>()
    .SelectMany(changeset => changeset.Changes.Select(change => change.Item.ServerItem));
}
...