2012-04-04 19 views
15

Suponga que hay un proyecto TFS Project con las subcarpetas trunk y 1.0. trunk contiene la última versión del código de la aplicación para este proyecto y 1.0 contiene el código para la misma aplicación para la versión lanzada del mismo nombre.¿Cómo puedo encontrar todas las etiquetas para una subcarpeta de proyecto TFS en particular?

Hay etiquetas para ambas subcarpetas y todas las etiquetas incluyen archivos en una sola de las subcarpetas. [También podría suponer que las etiquetas son recursivas en un conjunto de cambios específico (máximo) para todos los archivos de la subcarpeta completa si eso simplifica su respuesta.]

¿Cómo puedo crear una lista de etiquetas para una? de estas subcarpetas, utilizando Visual Studio, la herramienta de línea de comandos TFS tf.exe, o cualquier otra herramienta o código que esté públicamente (y libremente) disponible.

Nota: He escrito un código T-SQL que consulta la base de datos de control de versiones TFS directamente para generar esta información, pero tengo curiosidad de saber si hay "mejores" formas de hacerlo.

Respuesta

27

En Visual Studio, en el Explorador de control de Fuente ventana, haga clic en el sub-carpeta para la que desea que se muestren las etiquetas pertinentes y recoger Ver antecedentes de en el menú contextual. En la ventana Historial que debería aparecer, debe haber una subtabla Etiquetas (como se resalta a continuación) que enumera las etiquetas aplicadas a esa subcarpeta (pero no los elementos específicos en esa subcarpeta).

enter image description here

+0

Hola, se trata de mostrar las etiquetas creadas solamente para mi workspsace (por mí), ¿Cómo puedo ver las otras etiquetas creadas por otros usuarios? .. – ansar

+0

@ansar no estoy usando TFS actualmente de modo que pueda 'verifique, pero no recuerdo que esto esté restringido por el espacio de trabajo en la versión de TFS que estaba usando; Ciertamente no estaba creando las etiquetas que encontré. –

+0

@ansar ¿Qué tal la [respuesta de tinman] (http://stackoverflow.com/a/32891259/173497)? –

2

Para encontrar etiquetas en Visual Studio

  1. abierto control de código fuente Explorador.

  2. En Fuente Explorador de control, abra el menú de acceso directo para la recogida, proyecto de equipo, rama, una carpeta o archivo que está buscando.

  3. Seleccionar Ver historial. Verá una nueva ventana con todos los conjuntos de cambios .

  4. Seleccione Etiquetas en el menú de pestañas como se resalta en la imagen de abajo.

enter image description here

+0

Tenga en cuenta que si tiene ramas etiquetadas dentro de una carpeta, esas etiquetas no se mostrarán de esta manera para la carpeta principal. Tienes que ver el historial de visualización en cada rama desafortunadamente. – AaronLS

2

que tenía que hacer esto en la línea de comandos de hoy asi que aquí hay un archivo por lotes que se espera hace lo mismo (sólo hemos empezado a utilizar TFS y hemos limitado a las etiquetas de las carpetas probar los requisitos de OP).

Tendrá que editar el parámetro de recopilación a tf para cualquiera que sea su configuración, y posiblemente proporcione los detalles de inicio de sesión dependiendo de cómo se realice su autenticación.

@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 
Cuestiones relacionadas