tutorial - ¿Cómo puedo encontrar todas las etiquetas para una subcarpeta de proyecto TFS en particular?
tfs 2018 update 4 (3)
En Visual Studio, en la ventana de Source Control Explorer , haga clic con el botón derecho en la subcarpeta para la que desea enumerar las etiquetas relevantes y seleccione Ver historial en el menú contextual. En la ventana de Historial que debería aparecer, debería haber una sub-pestaña Etiquetas (como se resalta a continuación) que enumera las etiquetas aplicadas a esa subcarpeta (pero no elementos específicos en esa subcarpeta).
Supongamos que hay un proyecto de Project
TFS 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 publicada del mismo nombre.
Hay etiquetas para ambas subcarpetas y todas las etiquetas incluyen archivos en una sola de las subcarpetas. [También puede suponer que las etiquetas son recursivas en un conjunto de cambios específico (máximo) para todos los archivos en la subcarpeta completa también 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é disponible públicamente (y de forma gratuita)?
Nota: he escrito un código T-SQL que consulta directamente la base de datos de control de versión de TFS para generar esta información, pero tengo curiosidad por saber si hay "mejores" formas de hacerlo.
Necesitaba hacer esto en la línea de comandos hoy, así que aquí hay un archivo por lotes que, con suerte, hace lo mismo (acabamos de comenzar a usar TFS y tenemos etiquetas limitadas en las carpetas para probar los requisitos del OP).
Deberá editar el parámetro de recopilación a tf
a cualquiera que sea su configuración y, posiblemente, proporcionar los detalles de inicio de sesión según cómo se realice la 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
Para encontrar etiquetas en Visual Studio.
Open Source Control Explorer .
En Source Control Explorer , abra el menú de acceso directo para la colección, el proyecto del equipo, la rama, la carpeta o el archivo que está buscando.
Seleccione Ver historial . Verás una nueva ventana con todos los Changesets .
Seleccione Etiquetas en el menú de pestañas como se resalta en la imagen de abajo.