Comando difference
Actualización: noviembre 2007
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]
tf diff[erence] itemspec itemspec2 [/type:filetype] [/format: format]
[/ignorespace] [/ignoreeol] [/ignorecase] [/recursive] [/options]
tf diff[erence] [/shelveset:shelvesetname[;shelvesetowner]]
shelveset_itemspec [/server: servername] [/type:filetype]
[/format: format] [/ignorespace] [/ignoreeol] [/ignorecase]
[/recursive] [/options]
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 (Team System). 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:
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 (Team System). |
servername |
Valor proporcionado por el usuario para la opción /server. Ejemplo: teamfoundation2. |
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. Tenga en cuenta que puede haber más de un conjunto de cambios aplazados con el mismo nombre en Team Foundation Server siempre que cada uno sea propiedad de un usuario diferente. |
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. |
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 indicador /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 |
Pasa por alto las diferencias entre los nuevos caracteres de línea en dos archivos o versiones de archivo. /ignoreeol funciona de forma diferente a /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 Cómo: Asociar un tipo de archivo a una herramienta de diferencias y Cómo: Asociar un tipo de archivo a una herramienta de combinación. |
/server |
Identifica el servidor de Team Foundation Server. Se requiere esta opción si el comando se invoca desde un directorio no asignado a un área de trabajo. |
/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 Cómo: Asociar un tipo de archivo a una herramienta de diferencias. |
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 Tipos de archivo.
Si especifica dos nombres de archivo, se comparan los dos archivos. En lugar de utilizar el indicador /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 (@@ ... @@) sólo 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