¿Cómo model una 'Biblioteca Central' en TFS 2010?

Actualmente estoy evaluando TFS 2010 para utilizarlo en nuestro equipo de desarrollo como la solución de control de origen en lugar de Git. Somos una tienda de Microsoft, sumergimos nuestros dedos en Sharepoint y Project Server de todos modos, así que sería bueno tenerlo todo funcionando en una plataforma.

Mi problema comienza con esto …

En Git, tenemos un model de desarrollo que considera que la base de código reutilizable PROPIA de nuestra empresa está almacenada en un repository separado. Cada solución de cliente también tiene su propio repository y un submodule (externo para SVN-junkies) que lo vincula a nuestra biblioteca común. Para permitir que los desarrolladores agreguen funcionalidades a nuestra biblioteca común a medida que avanzan, configuramos una twig rastreada para cada submodule y fusionamos los bits de funcionalidad en nuestra biblioteca común a medida que se finalizan.

Entonces (en un soborno al arte ascii antiguo) una representación aproximada de nuestra configuration de Git sería …

Common-Library::(branch) -----> (submodule)::Client-Solution ^ | |----------------- 

Esta estructura es muy importante para nuestra efectividad. Permite a los desarrolladores actualizar nuestras bibliotecas comunes en context, en solución, al mismo time que desarrollan sus soluciones de cliente. Lo que es más importante, permite que la funcionalidad recientemente desarrollada encuentre su path de return a nuestra biblioteca común de una manera orgánica impulsada por los requisitos, fusionándose de la twig del cliente al maestro y a otras soluciones del cliente.

Mi problema es que realmente quiero usar TFS 2010 para todas las otras cosas buenas del flujo de trabajo, pero me está costando trabajo entender cómo un model así podría encajar en su capacidad de Control de Fuente. Parece bastante independiente. Hasta el momento, no encuentro nada que describa cómo configurar references externas como 'submodule'.

  • ¿TFS 2010 tiene esa capacidad?
  • Quizás mi comprensión del model de TFS 2010 es insuficiente.
  • ¿Cómo configuraría un model de biblioteca común compartido en TFS 2010?

Solutions Collecting From Web of "¿Cómo model una 'Biblioteca Central' en TFS 2010?"

Si te entiendo correctamente, puedes asignar esto en tus espacios de trabajo locales si tienes:

 $/.../Projects/YourProject 

y

 $/.../Libs/LibA 

Puede configurar su espacio de trabajo local para

 Carpeta local de control de fuente de estado Carpeta local
 Active $ / ... / Projects / YourProject C: \ .. \ YourProject
 Active $ / ... / Libs / LibA C: \ .. \ YourProject \ Libs

De modo que sus bibliotecas pueden existir en cualquier parte de su proyecto TFS, pero localmente estarán disponibles en una location razonable para que usted agregue a su solución. Cualquier cambio que realice se puede save correctamente en el repository, y cualquier otra persona que trabaje con esos proyectos compartidos lo verá localmente en su espacio de trabajo cuando se actualice.

Actualizar:

Si quieres usar una versión ramificada, di que tienes

 $/.../Customer1/Libs/LibA 

y

 $/.../Customer2/Libs/LibA 

Ambos están ramificados

 $/.../Libs/LibA 

Si está trabajando para Customer1, entonces cambia su mapeo de

 Active $ / ... / Libs / LibA C: \ .. \ YourProject \ Libs

a

 Active $ / ... / Customer1 / Libs / LibA C: \ .. \ YourProject \ Libs

Todo debería estar en el mismo lugar que la carpeta local no ha cambiado.

(Tbh, este no es un ejemplo shiny, ¡pero espero que lo aclare un poco o le dé algunas ideas!)

¿Es esa estructura una forma de ir?

enter image description here

Ahora puede iniciar su Client 1 y derivar la línea principal de Common Lib A al Client 1/devline/Common Lib A

Si ha realizado cambios en Common Lib A y ha finalizado, puede fusionar la twig en el Cliente 1 con la línea principal o posiblemente una línea de integración.

Otra solución es usar el common lib en aplicaciones cliente como ensamblajes que prefiero.

Si llego a la situación de que falta algo en Common lib, creo un nuevo elemento de requisito / retraso para la lib común (tiene una ruta de área adicional) y lo implemento en la twig de Common Lib A , lo pruebo y despliego a mi (s) aplicación (es).

Puedes echar un vistazo a la guía de bifurcaciones si aún no lo has hecho, quizás obtengas más ideas.

Editar basado en el comentario

Cuando se bifurca puede especificar la carpeta a través de browse . Allí seleccionas tu twig objective. enter image description here

Después de hacerlo, puede agregar las fonts de Common Lib A en sus soluciones de cliente.