2010-03-02 2 views
5

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

То, что я не нашел хороший способ, чтобы извлечь их из TFS 2008. То, что я пробовал:

  • ВС Окно истории: Это обеспечивает только первые 100 символов или так, усеченный стиль эллипса.
  • TFS Powertools: Возможно, мне что-то не хватает, но я не могу получить формат вывода, который не включает в себя разделение строк в комментариях, поэтому использование чего-либо полезного похоже на PITA, но, возможно, решение PowerShell было бы идеально здесь?

То, что я после довольно прост:

  • комментарии
  • набор изменений
  • ID
  • Дата
  • Имя пользователя, если это возможно

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

Что я делаю сейчас, чтобы получить эти данные открывая TFS SQL Server непосредственно и работает это на базе TfsVersionControl:

SELECT ChangeSetId, CreationDate, Comment 
FROM  tbl_ChangeSet 
WHERE  ChangeSetId > 6300 

Я пытался, но не нашел хороший ресурс для этого, кажется, что вся большая информация TFS, которая была в блогах Vertigo, потеряна, поскольку ссылки теперь мертвы. У кого-нибудь есть лучший/разумный способ вытащить эту информацию? Формат не важен, все в табличном/xml/любом формате, который я могу преобразовать для чтения, работает.

Сторона примечания: Мы обновляем до VS 2010 в течение недели или около того релиза ... если ответ VS2010/TFS2010 - это еще лучше, поскольку это долгосрочное решение.

ответ

9

Team Foundation Power Tools (October 2008) поставляется с оснасткой PowerShell (32-разрядная версия, только если вы находитесь в Windows x64). Попробуйте следующее:

Add-PSSnapin Microsoft.TeamFoundation.PowerShell 
Get-TfsItemHistory . -Recurse -Version C57460~58090 | 
    fl Comment,ChangesetId,CreationDate,Committer 


Comment  : Added printf's in a couple of event callbacks 
ChangesetId : 58090 
CreationDate : 2/25/2010 1:46:09 PM 
Committer : ACME\johndoe 
... 

Это делает сохранение новых строк в комментариях. Если вы находитесь на x64 Windows, убедитесь, что вы запустили это из 32-разрядной (x86) подсказки PowerShell.

+0

Спасибо Keith, в итоге получилось: 'Get-TfsItemHistory '$/ProjectName" -Recurse -Version C6000 ~ 6761 -Server "tfs" | fl Комментарий, ChangesetId, CreationDate, Committer | out-file C: \ Changesets.txt' Работает как шарм. Я ** действительно ** ценю 32-битные головы, я бы стукнул головой на стол, потому что это не интуитивная ошибка в 64-бит вообще. –

0

Этот проект с открытым исходным кодом находится в http://tfschangelog.codeplex.com, который позволяет пользователям указывать диапазон изменений и генерировать заметки о выпуске на основе комментариев chnageset и связанных с ними рабочих элементов для каждого набора изменений в заданном диапазоне.

TFS ChangeLog извлекает информацию в XML, а затем использует XSLT 2.0 для преобразования его в HTML. Пользователи могут определять свои собственные стили, фильтр, метод вывода и т. Д., Чтобы генерировать полезную информацию о выпусках. Фактически это открывает возможность для разработчиков и тестировщиков предоставить содержательное содержание для ваших заметок о выпуске.

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

Смежные вопросы