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