Tengo problemas para entender cómo configurar TFS de acuerdo con las mejores prácticas proporcionadas por el equipo de TFS Ranger. El problema es tal:Sucursal de TFS 2010 en proyectos de equipo: mejores prácticas
Mi empresa tiene varios productos que hacen uso de una base común de códigos compartidos.
> $/Core
> -> /Main/Source (Parent Branch)
>
> $/Product1
> -> /Main/Source
> -> /Main/Source/Core/Source (Child Branch from $/Core)
> -> /Main/Source/...
>
> $/Product2
> -> /Main/Source
> -> /Main/Source/Core/Source (Child Branch from $/Core)
> -> /Main/Source/...
Por lo tanto, tenemos una colección de equipo y, por ejemplo, tres proyectos de equipo para este ejemplo. ($/* es un proyecto de equipo)
Nuestra versión inicial de bifurcación es un poco molesto. En lugar de ramificar en/Main a/Releases, o/Main to/Development, hemos estado ramificando cada proyecto individualmente. (Proyecto de equipo ... proyecto de solución.)
Esto se debe a la imposibilidad de tener raíces de ramas anidadas. (Ver errores TFS: TF203028 and TF203071)
De acuerdo con la Guía del guardabosques TFS y nuestro enfoque revisado para las versiones de bifurcación, revisiones, desarrollos, debemos ramificar desde/Main en lugar de/Main/Source/Proj1,/Proj2,/Proj3, etc. . Se ha convertido en una gran molestia.
ideal sería:
> $/Product1
> -> /Main/ (Branch - Parent)
> -> /Releases
> -> /1.x
> /1 Service Pack (Child Branch from $/Product1/Main
> -> /1.0
> -> /1.0 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
> -> /1.0 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
> -> /1.0.22 RTM (Child Branch from $/Product1/Releases/1.x/1.0/1.0 Hotfix - Read Only)
> -> /1.5
> -> /1.5 Hotfix (Child Branch from $/Product1/Releases/1.x/1 Service Pack)
> -> /1.5 RTM (Child Branch from $/Product1/Releases/1.x/1.5/1.5 Hotfix - Read Only)
Soluciones: 1. podemos convertir cada rama compartida (es decir, $/Core.) De nuevo a carpetas normales. De esta forma, ninguna carpeta en/Main es una raíz de la sucursal. Entonces podemos realizar una fusión sin base de $/Product1/Main/Source/Core/Source de vuelta al padre $/Core/Source.
Alguien tiene alguna experiencia con fusiones sin fundamento. Lo que leí de Microsoft es que son excepciones que no deberían ser un lugar común. MS afirma que si configura sus proyectos correctamente con TFS, nunca necesitaría realizar una combinación sin fundamento.
¿Cómo es esto posible cuando se ramifica en proyectos de equipo?!? Debería ser común en cualquier casa de desarrollo de software tener bibliotecas compartidas entre productos.
Estoy abierto a otras soluciones también.
Gracias!
Aquí hay otra persona con el mismo problema: http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/ thread/a2f1b3bb-337f-4abe-abed-04c367523eaf – Daniel
La respuesta a esta pregunta parece ser subjetiva. El equipo de Microsoft TFS Ranger no ha brindado información ni explicación suficientes sobre este tema. Sería difícil para mí otorgar la recompensa y mucho menos elegir la respuesta "correcta", así que terminaré basándose solo en la mayoría de los votos. Parecería que las dos soluciones proporcionadas funcionarían bien y la única razón para no usar una fusión sin fundamento es solo porque MS dice que no es apropiado ... el razonamiento detrás del cual parece ser desconocido. – Daniel