TFS 2010 Branch Across Team Projects - Mejores prácticas

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:

Mi empresa tiene varios productos que utilizan una base de código común compartida.

> $/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 ramificación de liberación inicial es un poco dolorosa. En lugar de ramificar en / Main to / Releases, o / Main to / Development, hemos estado ramificando cada proyecto individualmente. @ (No proyecto de equipo ... proyecto de solución).

Esto se debe a la incapacidad de tener raíces ramificadas anidadas. (Ver errores de TFS: TF203028 y TF203071)

De acuerdo con la Guía de guardabosques de 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 molestia bastante grande.

Idealmente nos gustarí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)

Solutions: 1. Podemos convertir cada rama compartida (es decir, $ / Core) en carpetas normales. De esta manera, ninguna carpeta debajo de / Main es una raíz raíz. Luego podemos realizar una fusión sin base de $ / Product1 / Main / Source / Core / Source de nuevo al padre $ / Core / Source.

Tiene alguien alguna experiencia con fusiones sin fundamento. Lo que he leído de Microsoft es que son excepciones que no deberían ser comunes. MS afirma que si configura sus proyectos correctamente con TFS, nunca necesitaría realizar una fusión sin base.

¿Cómo es esto posible cuando se ramifica entre proyectos de equipo? Debería ser común en cualquier centro de desarrollo de software tener bibliotecas compartidas entre productos.

También estoy abierto a otras soluciones.

¡Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta