Comando merge

Actualización: noviembre 2007

El comando merge aplica los cambios de una bifurcación a otra.

Nota:

Los resultados de este comando no se reflejan en el Control de versiones de Team Foundation hasta que realice una operación de protección. Para obtener más información, vea Cómo: Proteger cambios pendientes.

Permisos necesarios

Para usar el comando merge, debe tener el permiso Desproteger establecido en Permitir para la carpeta del área de trabajo que contiene el destino de la operación Combinar. Debe tener también el permiso Lectura establecido en Permitir para la carpeta del área de trabajo que contiene el origen. Para obtener más información, vea Permisos de Team Foundation Server.

tf merge [/recursive] [/force] [/candidate] [/discard] 
[/version:versionspec] [/lock:none|checkin|checkout] [/preview] 
[/baseless] [/nosummary] [/noimplicitbaseless] source destination

Parámetros

Argumento

Descripción

versionspec

Especifica un valor como C2 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).

source

Especifica el archivo o carpeta que actúa como origen de la combinación.

Destination

Especifica el archivo o la carpeta que actúa como destino de la combinación.

Opción

Descripción

/recursive

Coincide con la especificación del elemento source en el directorio actual y cualquier subcarpeta.

/force

Omite el historial de combinación y combina los cambios especificados del origen con el destino, aunque todos o algunos de los cambios se hayan combinado anteriormente.

/candidate

Imprime una lista de todos los conjuntos de cambios del origen que todavía no se han combinado con el destino. La lista debe incluir el id. del conjunto de cambios que no se ha combinado y otra información básica sobre ese conjunto de cambios.

/discard

No realiza la operación de combinación, pero actualiza el historial de combinación para efectuar el seguimiento de la combinación. Descarta un conjunto de cambios para que no se usen con una combinación determinada.

/version

Para una combinación selectiva, esta opción especifica el intervalo que se debe combinar en el destino. Para una combinación de puesta al día, este parámetro especifica la versión antes de la que se deben combinar todos los cambios no combinados.

En el caso de una combinación selectiva, el intervalo de versiones representa el punto inicial y final del conjunto de cambios que se va a combinar. Por ejemplo, si intenta combinar la versión 4~6, se combinan los conjuntos de cambios 4, 5 y 6.

/lock

Especifica un tipo de bloqueo o quita un bloqueo en un elemento. Para obtener más información, vea Introducción a los tipos de bloqueo.

Opciones de bloqueo:

  • Ninguna

    No se aplica ningún bloqueo al elemento y se quitan todos los bloqueos existentes de un elemento.

  • Checkin

    Otros usuarios pueden desproteger los elementos especificados, pero no pueden proteger las revisiones en los archivos bloqueados hasta que se libere el bloqueo mediante una operación de protección. Si cualquier otro usuario ha bloqueado uno de los elementos especificados, la operación de bloqueo produce un error.

  • Checkout

    Impide que los usuarios protejan o desprotejan cualquiera de los elementos especificados hasta que se libere explícitamente el bloqueo. Si otros usuarios han bloqueado uno de los elementos especificados o si hay cambios pendientes para cualquier elemento, la operación de bloqueo no se realiza.

/preview

Muestra una vista preliminar de la combinación.

/baseless

Realiza una combinación sin una versión base. En otras palabras, permite al usuario combinar archivos y carpetas que no tienen una relación de combinación. Después de realizar una combinación sin base ya existe una relación de combinación y las futuras combinaciones no serán combinaciones sin base.

/nosummary

Omite el resumen de errores y advertencias cuando se requieren más de 10 líneas de resultados.

/noimplicitbaseless

Especifica que Team Foundation no realizará una combinación sin base implícita entre dos elementos que tengan el mismo nombre relativo en dos árboles con control de versiones no relacionados.

/noprompt

Suprime todos los mensajes de solicitud de datos.

Comentarios

Puede utilizar el comando merge de la utilidad de línea de comandos tf para aplicar los cambios de una bifurcación de origen existente a una bifurcación de destino existente. Puede combinar una revisión individual o un conjunto de cambios completo con la bifurcación de destino. Puede combinar los cambios del origen con la bifurcación de destino o los cambios del destino con la bifurcación de origen.

El comando merge también permite consultar qué cambios de una bifurcación de origen no se han migrado a la bifurcación de destino. Además, permite indicar que ciertos cambios del origen no se combinarán nunca con el destino y no se deben mostrar ya como candidatos de una operación de combinación.

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

Combinación sin base

Utilice la combinación sin base para combinar elementos que no están directamente bifurcados entre sí. Para realizar una combinación sin base, debe utilizar el comando tfmerge. Al realizar una combinación sin base, Team Foundation no tiene ninguna información sobre la relación de los archivos en las bifurcaciones. En una combinación sin base, debe realizar resoluciones de conflictos manuales. Una vez realizada la combinación sin base y resueltos todos los conflictos, Team Foundation registra el historial de combinación y establece una relación entre las carpetas y archivos.

Al ejecutar tfmerge, Team Foundation realiza una combinación sin base implícita entre los elementos que tienen el mismo nombre relativo en dos árboles con control de versiones relacionados anteriormente. Por ejemplo, tal vez desee combinar las bifurcaciones relacionadas $SRC\ y $TGT. Ambas bifurcaciones contienen un archivo no relacionado denominado a.txt. Al ejecutar tf merge, Team Foundation establece una relación entre los dos archivos a.txt si ambos archivos son iguales, si el cifrado conforme a FIPS está deshabilitado y si el archivo de origen no está relacionado con ningún otro archivo del destino.

Si ejecuta tf merge con la opción /noimplicitbaseless establecida, cuando Team Foundation intenta combinar las dos bifurcaciones, los dos archivos a.txt crearán un conflicto de espacio de nombres al intentar proteger los cambios. Para resolver el conflicto, debe cambiar el nombre de uno de los archivos.

Ejemplos

En el ejemplo siguiente se combinan los cambios de MyFile_beta1 que no se han combinado en MyFile_RTM.

c:\projects>tf merge MyFile_beta1 MyFile_RTM /recursive

En el ejemplo siguiente se combinan solo los cambios del conjunto de cambios 137 en branch2.

c:\projects>tf merge /version:C137~C137 branch1 branch2 /recursive

En el ejemplo siguiente se combinan todos los conjuntos de cambios desde el primero hasta el 137 inclusive de branch1.

c:\projects>tf merge /version:C137 branch1 branch2 /recursive

En el ejemplo siguiente se combinan todos los conjuntos de cambios desde el 100 hasta el 137 inclusive.

c:\projects>tf merge /version:C100~137 branch1 branch2 /recursive

El ejemplo siguiente imprime una lista de los conjuntos de cambios de branch1 que no se han combinado con branch2.

c:\projects>tf merge /candidate branch1 branch2 /recursive

El ejemplo siguiente imprime una lista de conjuntos de cambios de branch2 que no se han combinado de nuevo con branch1.

c:\projects>tf merge /candidate branch2 branch1 /recursive

El ejemplo siguiente descarta el conjunto de cambios 137 como candidato para combinar con branch2.

c:\projects>tf merge /discard /version:C137 branch1 branch2 /recursive

Vea también

Tareas

Tutorial: Funciones avanzadas del control de versiones

Cómo: Resolver conflictos entre dos archivos

Conceptos

Introducción a la bifurcación

Referencia

Sintaxis de la línea de comandos (Team System)

Comando branch

Comando merges

Otros recursos

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