Difference (Comando)

Compara y, si es posible, muestra las diferencias entre dos archivos, entre los archivos de dos carpetas o entre un conjunto de cambios aplazados y un archivo local o del servidor.

Permisos necesarios

Para utilizar el comando difference, debe tener el permiso Leer establecido en Permitir para todos los elementos especificados. Para obtener más información, vea Permisos de Team Foundation Server.

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

Argumento

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 del área de trabajo actual. Acepta rutas de acceso locales y del servidor de control de versiones de Team Foundation.

Para obtener más información sobre cómo Team Foundation analiza itemspecs para determinar qué elementos se encuentran en ese ámbito, vea Sintaxis de la línea de comandos (Control de versiones).

El comando difference no admite caracteres comodín.

Este parámetro no se puede combinar con la opción /shelveset.

Itemspec2

Opcional. Elemento con el que se comparará itemspec. Si no proporciona un segundo itemspec, se utiliza la última versión del elemento en el servidor de control de versiones de Team Foundation.

Filetype

Proporciona un valor para la opción /type. Puede especificar "binario" o "texto" y un número de página de códigos, o el nombre "descriptivo" de una página de códigos.

Format

Se utiliza con la opción /format para especificar un formato de resultados de uno de los tipos siguientes:

  • Visual

  • Brief

  • Contexto

  • RCS

  • SS

  • SS_SideBySide

  • SS_Unix

  • Unified

  • Unix

Estos formatos de resultados se explican en la sección Comentarios de este tema.

Versionspec

Valor proporcionado por el usuario para la opción /version. Para obtener más información acerca de cómo Team Foundation analiza una especificación de versión para determinar qué elementos se encuentran en su ámbito, vea Sintaxis de la línea de comandos (Control de versiones).

Shelvesetowner

Identifica el propietario del conjunto de cambios aplazados por su nombre de usuario. Si no se proporciona un valor para este parámetro, se da por supuesto que es el usuario actual.

Shelvesetname

Especifica el nombre de un conjunto de cambios aplazados. Puede crear más de un conjunto de cambios aplazados con el mismo nombre en el servidor que está ejecutando Team Foundation Server con tal de que un usuario diferente posea cada conjunto de cambios aplazados.

Shelveset_itemspec

Especifica el nombre de una carpeta o archivo en el conjunto de cambios aplazados que se va a comparar con la versión del conjunto de cambios aplazados base.

username

Proporciona un valor para la opción /login. Puede especificar un valor de nombre de usuario como DOMINIO\NombreDeUsuario o NombreDeUsuario.

Opción

Descripción

/type

Reemplaza cualquier codificación detectada y utiliza la codificación especificada para presentar los archivos al motor diferenciador.

/version

Especifica la versión del archivo o carpeta que se va a comparar. De forma predeterminada, Team Foundation utiliza la versión del área de trabajo si no se proporciona versionspec.

En lugar de utilizar el marcador /version, puede especificar las versiones anexando un punto y coma y un especificador de la versión al final de cada nombre de archivo.

/format

Especifica un formato de salida determinado mediante el argumento format.

/ignorespace

No resalta las diferencias de espacios en blanco entre los archivos comparados.

/ignoreeol

Omite las diferencias entre los caracteres de nueva línea en dos archivos o versiones de archivo. /ignoreeol funciona de manera diferente que /ignoreSpace. /ignorespace trata ocho espacios exactamente igual que uno. Sin embargo, si utiliza la opción /ignoreeol y el archivo A tiene dos nuevos caracteres de línea entre áreas de texto sin cambios, y el archivo B tiene uno, el resultado se muestra como una diferencia. Si ambos archivos tienen sólo una nueva línea, pero el archivo A utiliza \r\n como nueva línea y el archivo B utiliza \n, la opción /ignoreEOL pasaría por alto esta diferencia.

/ignorecase

No resalta las diferencias de 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 opciones para la herramienta que se va a invocar mediante diff. Para obtener más información, vea Asociar un tipo de archivo a una herramienta de diferencias y Asociar un tipo de archivo a una herramienta de combinación.

/shelveset

Especifica un conjunto de cambios aplazados que se van a comparar con la versión del servidor de control de versiones de Team Foundation en la que está basado el conjunto de cambios aplazados.

Esta opción no se puede combinar con un argumento itemspec. Para comparar elementos individuales del conjunto de cambios aplazados, puede proporcionar shelveset_itemspec.

/noprompt

Suprime cualquier cuadro de diálogo que, de lo contrario, se mostraría durante la realización de esta operación.

/configure

Invoca el cuadro de diálogo Configurar herramientas de usuario. Esta herramienta está disponible en la interfaz de usuario de Visual Studio. Para obtener más información, vea Asociar un tipo de archivo a una herramienta de diferencias.

/login

Especifica el nombre de usuario y la contraseña para autenticar al usuario con Team Foundation Server.

Comentarios

Nota

Puede escribir tf diff o tf difference en la línea de comandos para ejecutar este comando.

Puede utilizar el comando difference para comparar y, si es posible, mostrar las diferencias entre:

  • Dos archivos diferentes o dos versiones del mismo archivo.

  • Uno o más de los elementos en una carpeta.

  • Uno, varios o todos los elementos en un conjunto de cambios aplazados en Team Foundation Server.

Puede utilizar el comando difference para comparar archivos con control de versiones y sin control de versiones.

Team Foundation clasifica todos los archivos por tipo. Los archivos de texto se pueden combinar y comparar, lado a lado y línea por línea, con tal de que ambos archivos tengan la misma codificación. Si desea comparar dos archivos cuya codificación es diferente, puede enmascarar o reemplazar temporalmente la propiedad de codificación para un archivo mediante la opción /type. Los archivos binarios se pueden comparar pero no se pueden combinar. Cuando se pasa uno o varios archivos binarios al comando difference, Team Foundation indica si existen diferencias entre él y el elemento con el que se está comparando. Para obtener más información sobre cómo Team Foundation diferencia entre archivos de tipos dispares y los trata, vea Administrar tipos de archivo.

Si especifica dos nombres de archivo, se comparan los dos archivos. En lugar de utilizar el marcador /version, puede especificar las versiones anexando un punto y coma y un especificador de la versión al final de cada nombre de archivo.

Si pasa un solo itemspec al comando Difference:

  • Si no se especifica una versión, la versión del área de trabajo actual 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 una especificación de versión en itemspec, como tf difference header.h;LBeta1, Team Foundation compara esa versión con la versión actual en disco de su área de trabajo.

  • Si especifica un intervalo de versiones como /version:C1~C4, se comparan las versiones del archivo en los dos extremos del intervalo.

Para obtener más información sobre cómo buscar la utilidad de la línea de comandos tf, vea Comandos de la utilidad Tf de la línea de comandos.

Tipos de formato de los resultados

El parámetro format, utilizado con la opción /format, especifica muchos formatos de resultados diferentes. Los tipos de resultados disponibles son

  • Visual

    El tipo de formato Visual abre una aplicación de diferencias externa. De forma predeterminada se inicia diffmerge.exe.

  • Brief

    El formato brief se imprime si los archivos que se están comparando tienen diferencias.

  • Context

    El formato Context proporciona líneas de contexto para las diferencias en los archivos. Este formato se deriva del formato de resultados diff –c basado en UNIX.

  • RCS

    El formato RCS es similar a /format:unix, excepto en que no se proporcionan líneas de contexto.

    No se proporciona ningún aviso especial para los marcadores de fin de línea al final del archivo que faltan.

  • SS

    SS es el formato de resultados de diferencias predeterminado para Visual SourceSafe. Para obtener más información, vea "Diff (Command Line)" en el sitio web de Microsoft (https://go.microsoft.com/fwlink/?LinkId=99139).

  • SS_SideBySide

    SS_SideBySide es el formato de resultados en paralelo predeterminado para Visual SourceSafe.

  • SS_Unix

    SS_Unix es similar al formato de resultados /format:unix, pero /format:ss_unix incluye las líneas de contexto y /format:unix no las incluye.

  • Unified

    El formato Unified se deriva del formato de resultados diff –u basado en UNIX. /format:context repite las líneas de contexto idénticas entre las cadenas de diferencias pero /format:unified no las repite.

    El formato Unified genera una nueva línea de cadenas de diferencias unificada (@@ ... @@) solo cuando la distancia hasta la siguiente cadena de diferencias es mayor que el número de líneas de contexto.

  • Unix

    Este tipo de resultados se deriva del formato de resultados del comando diff basado UNIX.

    El formato de resultados 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 seprated by commas indicate a line range.
    # signs before the character indicate line numbers in the first file
    # signs after the character indidicate 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ó en el servidor de control de versiones de Team Foundation.

c:\projects>tf difference 314.cs

El ejemplo siguiente muestra todos los archivos cambiados en la carpeta src. No se muestran los archivos que han cambiado en las subcarpetas de src.

c:\projects>tf difference src /format:visual

El ejemplo siguiente muestra 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

Los ejemplos siguientes muestran las diferencias entre la versión de 314.cs que pertenece a la etiqueta "release" (lanzamiento) y la versión que pertenece al conjunto de cambios 3200.

c:\projects>tf difference 314.cs;Lrelease 314.cs;C3200

O bien

c:\projects>tf difference 314.cs;Lrelease~C3200

El ejemplo siguiente muestra la diferencia entre las versiones de e271.cs que un usuario denominado Nadia almacenó en el conjunto de cambios aplazados PeerCodeReview8 y la versión del conjunto de cambios aplazados base, que es la versión en la que el usuario basó sus cambios. También muestra los tipos de cambios pendientes en e271.cs cuando Nadia lo almacenó.

c:\projects> tf difference /shelveset:PeerCodeReview8;Nadia e271.cs

El ejemplo siguiente muestra las diferencias entre todos los archivos en el conjunto de cambios aplazados PeerCodeReview2 y la versión del conjunto de cambios aplazados base de esos archivos.

c:\projects> tf difference /shelveset:PeerCodeReview2

Vea también

Referencia

Comando merge

Checkin (Comando)

Shelvesets (Comando)

Conceptos

Administrar tipos de archivo

Otros recursos

Comandos de la utilidad Tf de la línea de comandos

Comparar carpetas y archivos