Можно ли просмотреть историю файлов TFS с метками? - PullRequest
31 голосов
/ 30 сентября 2008

В настоящее время мы используем Visual Source Safe и Team Foundation Server на работе (VSS для старых проектов, TFS для текущих или новых проектов).

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

Поскольку один из самых распространенных вопросов, которые мне задают службы поддержки или руководства, это «Какую версию мы исправили / добавили / удалили / изменили xxxx?», Я всегда полагался на наши метки сборки, появляющиеся в истории.

Можно ли заставить ярлыки отображаться в истории файлов?

Ответы [ 6 ]

21 голосов
/ 01 октября 2008

В версии TFS 2008 года вы не видите метки в стандартной истории файлов и папок. Если вы действительно хотите знать почему - см. Сообщение в блоге Брайана Гарри " Почему ярлыки TFS не похожи на ярлыки VSS ".

Чтобы найти метки в Visual Studio, выберите «Файл», «Контроль исходного кода», «Метка», «Найти метку ...». Отсюда вы можете увидеть, какие версии файлов были включены в эту метку.

Команда определенно слышала, что это не идеально, и следующая версия TFS (Team Foundation Server 2010 под кодовым названием «Rosario») будет включать улучшения в представлении «Журнал» для облегчения поиска меток - см. http://go.microsoft.com/?linkid=7807943 для спецификации улучшений представления истории в TFS 2010.

Кстати: я фактически перешел на нумерацию сборок на основе наборов изменений с TFS, что делает маркировку менее необходимой. Подробнее см. http://www.woodwardweb.com/vsts/changeset_based.html.

Надеюсь, это поможет,

Martin.

5 голосов
/ 15 сентября 2009

Эта проблема убивает нас.

Лучшее решение, которое я нашел, это использование стороннего инструмента Team Foundation SideKicks, доступного бесплатно здесь http://www.attrice.info/cm/tfs/.

Под "History Sidekick" есть вкладка с ярлыком. Вы можете выделить любую папку или файл, и он покажет вам каждый ярлык, который был сброшен на эту папку или файл и с какой ревизией. К сожалению, вы не можете увидеть полный просмотр папки или истории файла с ярлыками.

В разделе «Метка Sidekick» вы можете выделить любую конкретную метку, на которой можно указать, какие папки / файлы и наборы изменений находятся в метке. Эта функциональность почти такая же, как и в Visual Studio, и она не так полезна.

Одним предупреждением является необходимость сервера TFS 2008 или выше. Использование инструмента с TFS Server 2005 очень медленно и в основном непригодно.

-ephi

4 голосов
/ 16 сентября 2009

[из-за сложности меток в стиле TFS это довольно сложная проблема применительно к папкам; на основании приведенного выше комментария я предполагаю, что достаточно найти метки в файле]

К сожалению, это один из немногих крайних случаев API клиента TFS, который нигде не представлен в tf.exe или VS2008. Вам придется напрямую вызывать API. См. http://msdn.microsoft.com/en-us/library/bb138967.aspx - параметр "versionFilterItem" делает то, что вы ищете.

2 голосов
/ 04 февраля 2011

TFS 2010 имеет очень полезное представление «Метки» (а не «Наборы изменений») в истории любой ветви. К сожалению, он показывает только метки в выбранной вами ветке, а не метки во всех дочерних ветвях / папках.

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

Я начал играть, пытаясь создать собственный SQL для этого и запускать его непосредственно с базами данных TFS. Этот SQL был запущен для TFS 2008. Этот небольшой фрагмент покажет ВСЕ метки и наборы изменений для ВСЕХ ветвей, упорядоченных с самой последней созданной веткой / измененной меткой. Следующим шагом в разработке этого было бы как-то пройти наборы изменений и метки, чтобы вернуть только те области, которые мне интересны (например, «Главная» или какая-то особая ветвь). Я представляю, что если бы я создал SQL, который бы делал все это, это было бы слишком медленно, и у меня не было бы полного графического интерфейса пользователя, который я хочу погрузить в историю для конкретного файла, увидеть ярлыки с этим и т. Д. Вздох

select DisplayName, cs.CreationDate, Comment, 'CheckIn' 
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_ChangeSet cs 
where cs.ownerid = i.IdentityId
union
select DisplayName, LastModified, Comment, 'Label' 
from TfsVersionControl.dbo.tbl_Identity i, TfsVersionControl.dbo.tbl_Label l 
where l.ownerid = i.IdentityId
order by 2 desc
0 голосов
/ 26 февраля 2010

Я использовал История веток TFS для этого раньше. Это не самый лучший пользовательский интерфейс в мире, он позволяет показывать историю только по файлам, но он выполняет свою работу.

...