2008-09-30 7 views
31

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

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

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

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

+0

Обратите внимание на прилагаемый знак атрибута attrice, упомянутый в одном из ответов ниже. Здорово. – 2011-10-27 22:56:49

ответ

21

В версии TFS 2008 года вы не видите ярлыки стандартной истории файлов и папок. Если вы действительно хотите знать, почему, см. Сообщение блога Брайана Гарри «Why TFS Labels are not like VSS Labels».

Чтобы найти метки в 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.

+0

Я знаю, как найти метки в Visual Studio, но сопоставление Label -> файлов очень бесполезно в ситуации, описанной выше. – 2008-09-30 21:39:03

+0

Я прочитал сообщение Брайана Гарри, связанное выше, и я могу понять отсутствие ярлыков в истории папок, но для одного файла метка должна быть до или после версии файла. Это должно быть возможно. Но его не в силе игрушки тоже ... – 2008-09-30 21:42:40

5

Этот вопрос был убит.

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

В разделе «История Sidekick» есть вкладка с надписью. Вы можете выделить любую папку или файл, и он покажет вам каждую метку, которая была удалена в этой папке или файле, и в каком наборе изменений. К сожалению, вы не можете увидеть полное представление о папке или истории файла с включенными ярлыками.

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

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

-ephi

4

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

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

0

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

2

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

1

Я начал играть с попыткой создать свой собственный 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