Могу ли я просмотреть историю файлов TFS с метками?

StackOverflow https://stackoverflow.com/questions/153928

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

Могу ли я заставить метки отображаться в истории файлов?

Это было полезно?

Решение

В версии 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 для получения более подробной информации.

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

Мартин.

Другие советы

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

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

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

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

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

-эфи

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

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

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

Я начал играть с попыткой создать свой собственный SQL для этого и запустить его непосредственно в самих базах данных TFS.Этот SQL был запущен в TFS 2008.В этом небольшом фрагменте будут показаны ВСЕ метки и наборы изменений для ВСЕХ ветвей, упорядоченных с использованием самой последней созданной ветви / измененной метки в первую очередь.Следующим шагом в разработке этого было бы каким-то образом обойти наборы изменений и метки, чтобы вернуть только интересующие меня области (например, "Main" или какую-то частичную ветвь).Я предполагаю, что если бы я создал 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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top