Comando folderdiff (Control de versiones de Team Foundation)

Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019

Visual Studio 2019 | Visual Studio 2022

Use el comando folderdiff de TFVC para mostrar y comparar una representación visual de las diferencias entre los archivos de dos carpetas de servidor, de una carpeta de servidor y una carpeta local, o bien de dos carpetas locales.

Requisitos previos

Para usar el comando folderdiff, debe tener el permiso Lectura establecido en Permitir. Para más información, vea Permisos predeterminados de TFVC.

Sintaxis

tf folderdiff [sourcePath] targetPath [/recursive] [/noprompt] [/collection:TeamProjectCollectionUrl] [/filter:filter] [/filterLocalPathsOnly] [/login:username,[password]] [/view:same,different,sourceOnly,targetOnly]

Parámetros

Argumentos

Argument

Descripción

<sourcePath>

Ruta de acceso de origen local o de servidor en la operación de comparación. Si no se proporciona este argumento y targetPath es la ruta de acceso asignada local, sourcePath es la ruta de acceso del servidor a la que se asigna.

<targetPath>

Ruta de acceso de destino local o de servidor en la operación de comparación.

<filter>

Lista delimitada por punto y coma de máscaras de filtro de inclusión y exclusión para la opción /filter. El valor predeterminado es * (incluir todas). Vea Comentarios para obtener una descripción detallada de los filtros y las máscaras.

<TeamProjectCollectionUrl>

Dirección URL de la colección de proyectos que contiene los archivos para los que quiera mostrar y comparar las diferencias, por ejemplo http://myserver:8080/tfs/DefaultCollection.

<username>

Proporciona un valor a la opción /login. Puede especificar un valor de nombre de usuario como DOMAIN\username o username.

Opciones

Opción

Descripción

/recursive

Opcional. Compara completamente las dos carpetas de forma recursiva.

/noprompt

Opcional. Ejecuta tf folderdiff sin mostrar la salida en la ventana Diferencia de carpetas de Visual Studio. En su lugar, la salida se muestra en la ventana del símbolo del sistema.

/filter

Opcional. Especifica una lista de máscaras de inclusión y filtro que se usan para buscar coincidencias con los nombres de archivos y carpetas que se van a comparar.

/filterLocalPathsOnly

Opcional. Especifica que solo se filtrarán las rutas de acceso locales, a menos que exista la ruta de acceso de servidor correspondiente.

/view

Opcional. Especifica qué información incluir en la salida mediante una lista separada por comas de los valores siguientes:

  • same muestra archivos con el mismo contenido en los directorios de origen y de destino.

  • different muestra archivos contenido diferente en los directorios de origen y de destino.

  • sourceOnly muestra los archivos que solo existen en el directorio de origen.

  • targetOnly muestra los archivos que solo existen en el directorio de destino.

El valor predeterminado es different,sourceOnly,targetOnly.

/collection

Especifica el nombre de la colección de proyectos.

/login

Especifica el nombre de usuario y la contraseña para autenticar al usuario con Azure DevOps.

Observaciones

La salida se muestra en la ventana del símbolo del sistema si especifica /noprompt. De lo contrario, la salida se muestra en la ventana Diferencia de carpetas de Visual Studio.

Cuando el sistema compara la carpeta asignada local a la carpeta del servidor a la que está asignada, la salida de la ventana Diferencia de carpetas incluye una lista de cambios pendientes. Además, la salida de la ventana Diferencia de carpetas indica si la carpeta local contiene o no la copia más reciente.

La salida que se muestra en la ventana del símbolo del sistema enumera todos los archivos de las carpetas de las cinco secciones siguientes:

  • Elementos que solo existen en la carpeta del servidor.
  • Elementos que solo existen en la carpeta local.
  • Elementos que tienen contenidos diferentes.
  • Elementos que tienen contenidos idénticos. Debe especificar el argumento same con la opción /view.
  • Resumen.

Filtros de archivo y carpeta

Un filtro es una lista ordenada de máscaras de nombre usadas para buscar coincidencias con el nombre de los archivos y carpetas que se van a comparar. Las máscaras pueden contener el carácter comodín de signo de interrogación ? para que coincida exactamente con un carácter y el carácter comodín de asterisco * para que coincida con cero o más caracteres.

Para delimitar las máscaras en un filtro se usa punto y coma ;. Las máscaras de carpeta deben terminar en una barra diagonal inversa \. Para especificar una máscara de exclusión, agregue como prefijo a la máscara un signo de exclamación !.

El filtro se aplica a los nombres de archivo y carpeta mediante las reglas siguientes:

  • Cuando un filtro especifica máscaras de archivo y de carpeta, se separan en una lista de máscaras de archivo y una lista de máscaras de carpeta. Las máscaras de archivo solo se aplican a los nombres de archivo. Las máscaras de carpeta solo se aplican a los nombres de carpeta.

  • Para hacer coincidir un nombre de archivo o carpeta, el comando compara el nombre con cada máscara del filtro en el orden especificado. En cuanto el nombre coincide con una máscara, se considera una coincidencia.

  • Si las máscaras de archivo del filtro contienen una máscara de inclusión, se excluyen los archivos que no coinciden con ninguna de las máscaras de archivo.

  • Si las máscaras de archivo del filtro solo contienen máscaras de exclusión, se incluyen los archivos que no coinciden con ninguna de las máscaras de archivo.

  • Si las máscaras de carpeta del filtro contienen una máscara de inclusión, se excluyen las carpetas que no coinciden con ninguna de las máscaras de carpeta.

  • Si las máscaras de carpeta del filtro solo contienen máscaras de exclusión, se incluyen las carpetas que no coinciden con ninguna de las máscaras de carpeta.

En la siguiente tabla se muestran ejemplos de máscara de nombre de filtro.

Máscara de nombre Descripción
*.cs Coincide con todos los archivos de C#.
My*.bmp Coincide con todos los archivos de mapa de bits que comienzan por Mi.
!*.exe Excluye todos los archivos ejecutables.
!objd\ Excluye todas las carpetas objd.

En la tabla siguiente se filtran los ejemplos.

Filter Descripción
*.cs;!objd\;!obj\;!bin\ Coincide con todos los archivos de C# salvo los que están en las carpetas objd, obj o bin.
!*.resx;!*.ini;!resources\;!*junk*\ Excluye todos los archivos .resx e .ini, todos los archivos de la carpeta resources y todos los archivos de cualquier carpeta cuyo nombre incluya la palabra junk.

Para más información sobre cómo usar la utilidad de línea de comandos tf, vea Uso de comandos de control de versiones de Team Foundation.

Ejemplos

En el ejemplo siguiente se comparan los archivos de la carpeta del servidor y una carpeta local, se organizan los archivos de la carpeta local de forma recursiva y se muestra la salida en la ventana del símbolo del sistema.

tf folderdiff $/<serverFolder> F:\<localFolder> /recursive /noprompt

Pasos siguientes