2012-03-07 5 views
7

Hice una bifurcación y la primera vez que fui a fusionarme de la fuente a la sucursal surgieron un montón de viejos conjuntos de cambios que dicen que no se fusionaron pero que estaban presentes mucho antes de la sucursal y confirmo que estaban ahí.TFS 2010: bifurcación: ¿por qué los conjuntos de cambios dicen que no se han fusionado cuando eran anteriores a la sucursal?

Ejemplo: Digamos que he ramificado de Origen a Destino cuando había 9 conjuntos de cambios en Fuente. El cambio 10 se realizó en Fuente. Voy a fusionar desde Origen a destino y TFS me dice que los cambios 6 y 7 y 10 deben fusionarse (aunque 6 y 7 estaban allí antes de que se bifurquen y puedo confirmar que esos cambios están en el objetivo)

I Soy nuevo en TFS y esto sucedió cuando comencé a implementar Branching and Merging. La nueva rama que hice no hizo esto.

Ahora tenemos un tronco y luego 1 rama para el control de calidad en curso para la próxima versión y otra rama para las revisiones a la producción. Fue la rama de QA la que tuvo este problema, pero cuando hice la rama de revisión estaba bien.

Respuesta

7

Me he encontrado con esto algunas veces. Eventualmente, simplemente fusioné los conjuntos de cambios de candidatos "deshonestos" de la fuente al objetivo. Examiné la fusión pendiente y determiné que no hubo cambios. La comisión de la fusión se deshizo de estos conjuntos de cambios candidatos. Pensé que podría retroceder si no funcionaba.

EDITAR: Parece que si ha actualizado a TFS 2010, hay un error que hará que los candidatos de combinación adicionales (ver http://support.microsoft.com/kb/2135068)

"Cualquier artículo sobre una rama que han cambiado de nombre varias veces o que tienen si varios otros elementos ocupan su espacio de nombres (a través de combinaciones de agregar/eliminar) habrán perdido sus relaciones con los elementos correspondientes en otras ramas ".

En cuanto a la resolución, el artículo de soporte dice:

"para resolver el problema con los candidatos de combinación adicionales, la opción/descarte se debe utilizar Para ello, ejecutar una combinación de los siguientes formato de un comando. línea:

tf merge <source branch> <target branch> /r /discard:CXXX~CYYY

en este ejemplo, XXX y YYY representan los identificadores de conjuntos de cambios de la gama de cambios para descartar Después de esta fusión se ha registrado, los candidatos no deseados ya no aparecerán para futuras fusiones también.. tenga en cuenta que, debido a la impresión Los complementos en el algoritmo de fusión en TFS 2010, los elementos eliminados en las ramas de origen y de destino darán como resultado la fusión de los cambios. En esos casos, es mejor no descartar los conjuntos de cambios para que el historial de fusiones se actualice correctamente. "

+0

editado basa en el artículo de soporte. – PabloC

0

He tenido esto algunas veces también. Sospecho que la causa es algo gracioso en la forma en que TFS gestiona las fusiones pendientes. Si intenta fusionar estos cambios, y el tipo de cambio es simplemente" fusionar "y no" fusionar, editar ", entonces es seguro fusionarlos y tener la confianza de que no se han producido cambios. Si no los fusiona, TFS seguirá tratando de fusionar los no cambios de forma indefinida, posiblemente oscureciendo eventuales cambios reales. estos cambios no son lo antes posible.

Cuestiones relacionadas