2012-04-04 4 views
15

Предположим, существует проект TFS Project с подпапками trunk и 1.0. trunk содержит последнюю версию кода приложения для этого проекта, а 1.0 содержит код для того же приложения для выпущенной версии с тем же именем.Как я могу найти все метки для конкретной подпапки проекта TFS?

Есть метки для обеих подпапок, и все ярлыки включают файлы только в одну из подпапок. [Вы также можете предположить, что метки являются рекурсивными для определенного (максимального) набора изменений для всех файлов во всей подпапке, если это упрощает ваш ответ.]

Как создать список меток для одного из этих подпапок, используя Visual Studio, инструмент командной строки TFS tf.exe или любой другой инструмент или код, который является общедоступным (и свободно) доступным.

Примечание. Я написал код T-SQL, который запрашивает базу данных управления версиями TFS напрямую, чтобы сгенерировать эту информацию, но мне любопытно, есть ли «лучшие» способы сделать это.

ответ

27

В Visual Studio, в окне Source Control Explorer, щелкните правой кнопкой мыши на вложенную папку, для которой вы хотите перечислить соответствующие этикетки и выбрать Просмотреть историю из контекстного меню. В окне должно появиться надбавка Ярлыки (как указано ниже), в которой указаны метки, применяемые к этой подпапке (но не определенные элементы в этой подпапке).

enter image description here

+0

Привет, это показывает ярлыки, созданные только для моего workspsace (мной), как я могу увидеть другие метки, созданные другими пользователями? .. – ansar

+0

@ansar Я не использую TFS в настоящее время, так что я могу 't проверить, но я не помню, что это было ограничено рабочей областью в версии TFS, которую я использовал; Я определенно не создавал ярлыки, которые я нашел. –

+0

@ansar Как насчет [ответа tinman] (http://stackoverflow.com/a/32891259/173497)? –

2

Чтобы найти метки в Visual Studio

  1. Открыть Control Source Explorer,.

  2. В Source Control Explorer, откройте контекстное меню для коллекции, командного проекта, отрасли, папки или файла, который вы ищете.

  3. Выбрать История просмотров. Появится новое окно со всеми Изменениями.

  4. Выберите Этикетки в меню вкладки, как показано на рисунке внизу.

enter image description here

+0

Обратите внимание, что если вы указали ветки в папке, эти ярлыки не будут отображаться таким образом для родительской папки. К сожалению, вы должны делать «Просмотр истории» в каждой ветви. – AaronLS

2

мне нужно сделать это в командной строке сегодня, так вот пакетный файл, который мы надеемся, делает то же самое (мы только начали использовать TFS и имеют ограниченные этикетки на папках проверьте требования OP).

Вам необходимо отредактировать параметр коллекции до tf независимо от того, что у вас есть, и, возможно, предоставить данные для входа в систему в зависимости от того, как выполняется ваша аутентификация.

@ECHO OFF 
SETLOCAL EnableDelayedExpansion 

@REM Check required parameters 
IF [%1]==[] GOTO :usage 

tf labels /owner:* /format:detailed %2 /collection:http://server:8080/tfs/collection > labels.txt 2> nul 

SET CURRENT_LABEL= 
FOR /F "tokens=1,2,3" %%G IN (labels.txt) DO (
    IF [%%G]==[Label] (
     SET CURRENT_LABEL=%%I 
    ) ELSE (
     IF /I [%%H]==[%1] (
      ECHO !CURRENT_LABEL! 
     ) 
    ) 
) 
DEL labels.txt 

GOTO :eof 
@REM Subroutines 

:usage 
echo tfs_labelsforfolder - Display all labels that are applied to a folder. 
echo. 
echo tfs_labelsforfolder ^<folder^> ^[label_filter^] 
echo. 
echo  folder  - The folder to show the labels for, e.g. $/Project/folder 
echo  label_filter - Search pattern to use in tf labels command. 
echo. 
GOTO :eof 
Смежные вопросы