He estado siguiendo el consejo en "Team Development with Visual Studio Team Foundation Server" en structuring projects y sharing code from one team project into another using branching. Así que nuestro árbol fuente se ve así:No se pueden anidar las ramas de TFS, por lo que no funciona la bifurcación para compartir el código.
server\instance
Shared
share
Project1
Main
Product1
share (branched into Project1 from Shared)
Stories
1607
1832
O al menos debería.
Como puedes ver, además de ramificar en algún código compartido, también usamos la rama por cada historia del usuario.
El problema es que cuando trato de bifurcar en la carpeta compartida desde el proyecto compartido (nombre de la rama de origen: $/compartido/compartir; nombre de la rama de destino: $/proyecto1/principal/compartir), aparece el error:
TF203028: You cannot create a branch at $/Project1/Main/share because a branch already exists at $/Project1/Main.
Está documentado que no puede anidar ramas en TFS, por lo que el error no es sorprendente. Por lo tanto, parece que estoy arruinado y el libro de Desarrollo del equipo está equivocado. (El libro implica que esto debería funcionar.)
Pero las apariencias pueden ser engañosas y es más probable que me equivoque que los autores del libro. ¿Alguien puede ayudarme a entender cómo solucionar esto?
(Una solución obvia sería hacer que la raíz de la historia se convierta en un hermano de la acción, en lugar de un padre. Pero esto no será de ninguna utilidad para nosotros, porque significaría que no podríamos hacer cambios en el código compartido en una rama de historia, que más bien derrota al objeto de rama por historia. También significaría una cantidad bastante colosal de trabajo cambiando las rutas en los proyectos.)
Puede utilizar las extensiones de TFS Source Control Explorer para bifurcar a una carpeta, lo que básicamente le permite hacer lo que desea. http://visualstudiogallery.msdn.microsoft.com/c6642e7f-1a58-4ff0-aef9-0322dcc2b28d – jessehouwing