Compartir a través de


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 differenceinvoque 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 el itemspec, como tf 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 salida diff -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 salida diff -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 comando diff 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 , pero no se muestran los archivos que se han cambiado en las subcarpetas de src.

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