Могу ли я увидеть историю файлов TFS с метками?
В настоящее время мы работаем как с Visual Source Safe, так и с Team Foundation Server (VSS для старых проектов, TFS для текущих или новых проектов).
Мы всегда использовали ярлыки в контроле источника для каждой сборки. В VSS, если вы выбрали просмотр истории файлов, вы можете включить метки. В TFS я не могу найти вариант включения таблиц в окно истории.
Поскольку один из наиболее распространенных вопросов, которые мне задают при поддержке или управлении, - "В какой версии мы исправили/добавили/удалили/изменили xxxx?", я всегда полагался на наши ярлыки сборки, появляющиеся в истории.
Могу ли я получить ярлыки для отображения в истории файлов?
Ответы
Ответ 1
В версии TFS 2008 года вы не видите метки в стандартной истории файлов и папок. Если вы действительно хотите знать, почему - см. Сообщение в блоге Брайана Гарри " Почему метки TFS не похожи на метки VSS".
Чтобы найти метки в Visual Studio, перейдите в раздел "Файл", "Контроль источника", "Метка", "Найти ярлык"... Из этого вы можете видеть, какие версии файлов были включены в этот ярлык.
Команда определенно слышала, что это не идеально, а следующая версия TFS (Team Foundation Server 2010 под кодовым названием "Росарио" ) будет включать улучшения в виде истории, чтобы легче находить метки - см. http://go.microsoft.com/?linkid=7807943 для спецификации улучшений в представлении истории в TFS 2010.
BTW - я действительно перешел на нумерацию на основе набора на основе набора данных с помощью TFS, что делает маркировку менее необходимой. Подробнее см. http://www.woodwardweb.com/vsts/changeset_based.html.
Надеюсь, что это поможет,
Martin.
Ответ 2
Этот вопрос убивает нас.
Лучшее решение, которое я нашел, - это использовать сторонний инструмент под названием Team Foundation SideKicks бесплатно здесь http://www.attrice.info/cm/tfs/.
В разделе "История Sidekick" есть вкладка метки. Вы можете выделить любую папку или файл, и он покажет вам каждую метку, которая была удалена в этой папке или файле, и в каком наборе изменений.
К сожалению, вы не можете увидеть полное представление о папке или истории файлов с включенными ярлыками.
В разделе "Обозначение ярлыка" вы можете выделить любую конкретную метку, на которой вы можете указать, какие папки/файлы и изменения находятся в ярлыке. Эта функциональность почти такая же, как и в Visual Studio, и не так полезна.
Одно из предостережений - необходимость сервера TFS 2008 или выше. Использование инструмента с сервером TFS 2005 является болезненно медленным и в основном непригодным для использования.
-ephi
Ответ 3
[из-за сложности меток TFS-стиля это довольно сложная проблема при применении к папкам; основанный на комментарии выше, я собираюсь предположить, что поиск ярлыков в файле достаточен]
К сожалению, это один из немногих краевых случаев API-интерфейса клиента TFS, который не отображается нигде в tf.exe или VS2008. Вам нужно будет вызвать API напрямую. См. http://msdn.microsoft.com/en-us/library/bb138967.aspx - параметр "versionFilterItem" делает то, что вы ищете.
Ответ 4
TFS 2010 имеет очень полезное представление "Ярлыки" (а не "Обновления" ) в истории любой ветки. К сожалению, он отображает только метки в выбранной ветке, а не метки во всех дочерних ветвях/папках.
Ответ 5
Я начал играть с попыткой создать свой собственный SQL для этого и запустить его непосредственно непосредственно с базой данных TFS. Этот SQL был запущен с TFS 2008. Этот небольшой фрагмент отобразит ВСЕ метки и изменения для ВСЕХ ветвей, упорядоченных с помощью недавно созданной ветки/модифицированной метки. Следующим шагом в развитии этого было бы как-то пересечь изменения и метки, чтобы только вернуть области, которые меня интересуют (например, "Главная" или какая-то отдельная ветка). Я предполагаю, что если бы я создал SQL, который бы сделал все это, это было бы медленным с собакой, и у меня не было бы полного GUI, я бы хотел погрузиться в историю для конкретного файла, увидеть метки с этим и т.д. Sigh.
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
Ответ 6
Я использовал историю ветвей TFS для этого раньше. Это не самый большой пользовательский интерфейс в мире и позволяет показывать историю только для каждого файла, но он выполняет свою работу.