2011-11-11 17 views
5

Tuvimos un problema con el archivo Merge en TFS2010. Hasta ahora, hemos fusionado archivos de una rama a otra sin problemas (haga clic con el botón derecho en el archivo -> Fusionar -> Elegir la rama de destino y fusionar archivos). Inicialmente, agregamos un nuevo archivo en la rama Develop, luego de eso agregamos el mismo archivo en la rama principal. Después de un cierto período, tuvimos cambios en el código en la rama Desarrollar y cuando intentamos hacer la fusión con la rama principal, no podemos ver la rama del objetivo (principal). Tengo dos preguntas con respecto a esta situación:TFS - No se puede ver la rama de destino al hacer el archivo Merge

  1. ¿Es esta una buena manera para 'subir' nuevos archivos en TFS. Agregue archivos por separado en ambas ramas o existe alguna práctica mejor en la que podríamos agregar un nuevo archivo a la rama Desarrollar y luego hacer una copia de ese archivo en Main.

  2. ¿Cuál puede ser el motivo para 'ocultar' la rama de destino durante la operación de fusión?

Cuando tratado de resolver este problema, he encontrado algunos artículos que pueden ser útiles a otra persona, pero no resolvió un problema en mi caso:

TFS not showing Dev branch in target locations for merging

How to merge new files into another branch in TFS?

http://revweblog.wordpress.com/2010/03/31/missing-target-branch-while-trying-to-merge-in-tfs-baseless-merge/

¡TnX por adelantado!

Nemanja

Respuesta

2

creo que el caso debería mirar más de cerca es this, que es un caso que ya ha mencionado.

Para su primera pregunta:
No, su método de confirmar nuevos archivos varias veces no es óptimo.
Agregar un nuevo archivo al control de código fuente (cualquier control de origen) más de una vez, no tiene sentido.

A su segunda pregunta:
La razón de este comportamiento fue mejor explicada por AakashM en la publicación anterior: "En TFS, la unidad de cambio es el conjunto de cambios, y son conjuntos de cambios (no archivos) que se registran y En la versión (número de conjunto de cambios) en la que se encuentra la rama de destino, este archivo simplemente no existe, por lo que no hay nada con lo que fusionarse. "

La forma correcta de operar es agregar nuevos archivos en su rama 'Desarrollo' y luego combinarlos en su rama 'Principal'.
Esto no será posible si hace clic con el botón derecho en el archivo recién agregado &, seleccione "Fusionar ..." (no se presentará la rama de destino). Esto se presentará si haces esto en la carpeta que contiene tu (s) nuevo (s) archivo (s).

+0

TnX pantelif! Eso resolvió nuestro problema. No pudimos fusionar archivos nuevos porque estábamos tratando de hacerlo con un clic derecho en el archivo en lugar de la rama. Ahora tenemos una situación en la que los conjuntos de cambios anteriores, con archivos que eran 'nuevos' en ese momento, se muestran en la lista 'Conjuntos de cambios seleccionados', pero no podemos fusionarlos de nuevo y cambiar los cambios, porque teníamos nuevos registros y modificaciones para estos archivos después de conjuntos de cambios iniciales. ¿Cómo podemos 'limpiar' esta información, es decir, cómo solo podríamos ver los cambios, por ejemplo, desde este momento? –

+0

Cuando intenta fusionarse de la rama de origen a la de destino, ¿no se queja TFS de un Conflicto?Si elige tomar la versión 'Objetivo' en la pestaña de conflicto, esto debería resolver el problema de una vez por todas. – pantelif

0

Tuve este problema, cuando para la sucursal principal no tenía el código más reciente. Tomé el código más reciente en la sucursal principal y luego intenté Fusionar con la rama de desarrollo y funcionó.

Cuestiones relacionadas