Подтвердить что ты не робот

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

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

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

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

Могу ли я получить ярлыки для отображения в истории файлов?

4b9b3361

Ответ 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 для этого раньше. Это не самый большой пользовательский интерфейс в мире и позволяет показывать историю только для каждого файла, но он выполняет свою работу.