Comando Diferencia
Azure DevOps Services | Azure DevOps Server 2022: Azure DevOps Server 2019
Visual Studio 2019 | de Visual Studio 2022
El comando Control de versiones de Team Foundation (TFVC) difference
compara y, si es posible, muestra diferencias entre dos archivos, archivos en dos carpetas o un conjunto de estantes y un archivo local o de servidor.
Prerrequisitos
Para usar el comando difference
, tenga el permiso Read para todos los elementos especificados establecidos en Permitir. Para obtener más información, consulte permisos predeterminados de TFVC.
Sintaxis
tf diff[erence] itemspec [/version:versionspec] [/type:filetype]
[/format:format [/ignorespace] [/ignoreeol] [/ignorecase] [/recursive]
[/options][/noprompt][/login:username,[password]]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format]
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]]
shelveset_itemspec [/type:filetype]
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase]
[/recursive] [/options] [/noprompt][/login:username,[password]]
tf diff[erence] /configure
Parámetros
Argumentos
de argumentos de
descripción
<itemspec>
Obligatorio. Especifica el elemento que se va a comparar. Si no se especifica ninguna versión o ruta de acceso, se asume la versión actual del área de trabajo. Acepta rutas de acceso de servidor locales y de Azure DevOps.
Para obtener más información sobre cómo TFVC analiza el itemspec
para determinar qué elementos están dentro del ámbito, consulte Usar comandos de control de versiones de Team Foundation.
El comando difference
no admite caracteres comodín.
Este parámetro no se puede combinar con la opción /shelveset
.
<itemspec2>
Opcional. Elemento al que se va a comparar el itemspec
. Si no proporciona un segundo itemspec
, se usa la versión más reciente del servidor de Azure DevOps del elemento.
<filetype>
Proporciona un valor para la opción /type
. Puede especificar binary
o text
y un número de página de códigos o el nombre descriptivo de una página de códigos.
<format>
Se usa con la opción /format
para especificar un formato de salida de uno de los siguientes tipos:
Visual
Brief
Context
RCS
SS
SS_SideBySide
SS_Unix
Unified
Unix
Estos formatos de salida se explican en la sección Comentarios.
<versionspec>
Valor proporcionado por el usuario para la opción /version
. Para obtener más información sobre cómo TFVC analiza una especificación de versión para determinar qué elementos están dentro de su ámbito, consulte Usar comandos de control de versiones de Team Foundation.
<shelvesetowner>
Identifica el propietario del conjunto de estantes por nombre de usuario. Si no se proporciona un valor para este parámetro, se supone que el usuario actual.
<shelvesetname>
Especifica el nombre de un conjunto de estantes. Puede crear más de un conjunto de estantes con el mismo nombre en el servidor que ejecuta TFVC siempre que un usuario diferente posea cada conjunto de estantes.
<shelveset_itemspec>
Especifica el nombre de una carpeta o archivo en el conjunto de estantes para comparar con la versión del conjunto de estantes base.
<username>
Proporciona un valor a la opción /login
. Puede especificar un valor de nombre de usuario como DOMAIN\username
o username
.
Opciones
de opción de
descripción
/type
Invalida las codificaciones detectadas y usa la codificación especificada para presentar los archivos al motor de diferenciación.
/version
Especifica la versión del archivo o carpeta que se va a comparar. De forma predeterminada, TFVC usa la versión del área de trabajo si no proporciona un versionspec
.
En lugar de usar la marca /version
, puede especificar versiones anexando un especificador de punto y coma y versión al final de cada nombre de archivo.
/format
Especifica un formato de salida especificado por el argumento format
.
/ignorespace
No resalta las diferencias de espacios en blanco entre los archivos comparados.
/ignoreeol
Omite las diferencias entre los nuevos caracteres de línea en dos archivos o versiones de archivo.
/ignoreeol
funciona de forma diferente de ignorespace
, que trata ocho espacios de forma idéntica a uno. Sin embargo, si usa la opción /ignoreeol
y archivo A tiene dos caracteres de línea nuevos entre áreas de texto sin cambios y archivo B tiene uno, el resultado se muestra como una diferencia. Si ambos archivos tienen solo una nueva línea, pero archivo A usa \r\n
como una nueva línea y archivo B usa \n
, la opción /ignoreeol
omitiría eso como una diferencia.
/ignorecase
No resalta las diferencias en el uso de mayúsculas y minúsculas entre los archivos comparados.
/recursive
Compara las diferencias entre la carpeta actual y todas sus subcarpetas.
/options
Especifica una cadena de opción para que difference
invoque la herramienta. Para obtener más información, vea Asociar un tipo de archivo con una herramienta de diferencia y Asociar un tipo de archivo con una herramienta de combinación.
/shelveset
Especifica un conjunto de estantes que se va a comparar con la versión del servidor de Azure DevOps en la que se basa el conjunto de estantes.
Esta opción no se puede combinar con un argumento itemspec
. Para comparar elementos de conjunto de estantes individuales, puede proporcionar un shelveset_itemspec
.
/noprompt
Suprime los cuadros de diálogo que, de lo contrario, se mostrarían durante la finalización de esta operación.
/configure
Invoca el cuadro de diálogo Configurar herramientas de usuario desde la interfaz de usuario de Visual Studio. Para obtener más información, vea Asociar un tipo de archivo con una herramienta de diferencia.
/login
Especifica el nombre de usuario y la contraseña para autenticar al usuario con TFVC.
Observaciones
Nota
Puede escribir tf diff
o tf difference
en la línea de comandos para ejecutar este comando.
Puede usar el comando difference
para comparar y, si es posible, mostrar diferencias entre:
Dos archivos diferentes o dos versiones del mismo archivo.
Uno o varios de los elementos de una carpeta.
Uno, algunos o todos los elementos de un conjunto de estantes en el servidor de Azure DevOps.
Puede usar el comando difference
para comparar archivos con versiones y sin versiones.
TFVC clasifica todos los archivos por tipo. Los archivos de texto se pueden combinar y comparar, en paralelo y en línea, siempre y cuando ambos archivos tengan la misma codificación. Si desea comparar dos archivos cuyas codificaciones no son iguales, puede enmascarar temporalmente o invalidar la propiedad de codificación de un archivo mediante la opción /type
.
Los archivos binarios se pueden comparar, pero no se pueden combinar. Al pasar uno o varios archivos binarios al comando difference
, TFVC indica si existen diferencias entre él y el elemento al que se va a comparar. Para obtener más información sobre cómo TFVC diferencia entre y trata los archivos de diferentes tipos, vea Managing file types.
Si especifica dos nombres de archivo, se comparan los dos archivos. En lugar de usar la marca de /version, puede especificar versiones anexando un especificador de punto y coma y versión al final de cada nombre de archivo.
Si solo pasa un itemspec
al comando de diferencia:
Si no proporciona una
versionspec
, la versión actual del área de trabajo del elemento se compara con la versión del área de trabajo base de forma predeterminada. Por ejemplo,tf difference header.h
compara la versión actual de header.h con la versión en la que se basa header.h.Si incluye un
versionspec
en elitemspec
, comotf difference header.h;LBeta1
, TFVC compara esa versión con la versión actual del área de trabajo en el disco.Si especifica un intervalo de versiones como
/version:C1~C4
, se comparan las versiones del archivo en los dos puntos de conexión del intervalo.
Para obtener más información sobre cómo usar la utilidad de línea de comandos de tf
, consulte Usar comandos de control de versiones de Team Foundation.
Tipos de formato de salida
El parámetro format
, que se usa con la opción /format
, especifica muchos formatos de salida diferentes. Están disponibles los siguientes tipos de salida:
Visual
tipo de formato abre una aplicación de diferencia externa. De forma predeterminada, se inicia diffmerge.exe.Brief
formato imprime si los archivos que se comparan difieren.Context
formato proporciona líneas de contexto para las diferencias en los archivos. Este formato se deriva del formato de salidadiff -c
basado en UNIX.RCS
formato es similar a/format:unix
, excepto que no se proporcionan líneas de contexto. No se proporciona ninguna entrega especial para un extremo de línea que falta al final del archivo.SS
es el formato de salida de diferencia predeterminado para Visual SourceSafe. Para obtener más información, vea diff (línea de comandos).SS_SideBySide
es el formato de salida en paralelo predeterminado para Visual SourceSafe.SS_Unix
es similar al formato de salida de/format:unix
, pero/format:ss_unix
incluye líneas de contexto y/format:unix
no.Unified
formato se deriva del formato de salidadiff -u
basado en UNIX./format:context
repite líneas de contexto idénticas entre las cadenas de diferencia, pero no/format:unified
.Unified
formato genera una nueva línea de cadena de diferencia unificada (@@ ... @@
) solo cuando la distancia a la siguiente cadena de diferencia es mayor que el número de líneas de contexto.Unix
tipo de salida se deriva del formato de salida del comandodiff
basado en UNIX.El formato de salida
Unix
se construye de la siguiente manera:<metadataline> "< " line prefix for lines from the first file "---" line "> " line prefix for lines from the second file <metadataline> can be one of these possibilities: #a#,# -- add lines from line # in file1 into file2 at lines #-># #,#d# -- delete lines from line # -> # in file 1 from file2 at line # #,#c#,# -- change lines from line # -> # in file1 into the lines in file2 at line # -> # # signs separated by commas indicate a line range. # signs before the character indicate line numbers in the first file. # signs after the character indicate line numbers in the second file. /// No end of line marker at the end of the file: /// \ No newline at end of file
Ejemplos
En el ejemplo siguiente se muestran las diferencias entre la versión local de 314.cs y la versión del área de trabajo de 314.cs que es la versión del archivo que se desprotegió del servidor de Azure DevOps.
c:\projects>tf difference 314.cs
En el ejemplo siguiente se muestran todos los archivos que se han cambiado en la carpeta src de
c:\projects>tf difference src /format:visual
En el ejemplo siguiente se muestran las diferencias entre el conjunto de cambios 3 y el conjunto de cambios 8 de 1254.cs.
c:\projects>tf difference /version:C3~C8 1254.cs
En los ejemplos siguientes se muestran las diferencias entre la versión de 314.cs que pertenecen a la etiqueta release
y la versión que pertenece al conjunto de cambios 3200.
c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200
-o-
c:\projects>tf difference 314.cs;Lrelease~C3200
En el ejemplo siguiente se muestra la diferencia entre las versiones de e271.cs que un usuario llamado Pat ha archivado en el conjunto de estantes PeerCodeReview8
y la versión del conjunto de estantes base en la que basaban sus cambios. La salida también muestra los tipos de cambios pendientes en e271.cs
cuando el usuario ha archivado.
c:\projects> tf difference /shelveset:PeerCodeReview8;Pat e271.cs
En el ejemplo siguiente se muestran las diferencias entre todos los archivos del conjunto de PeerCodeReview2
y la versión del conjunto de estantes base de esos archivos.
c:\projects> tf difference /shelveset:PeerCodeReview2