Tenemos una gran solución .NET con varios proyectos, todos almacenados en una sola Colección TFS. Somos un pequeño equipo de desarrollo que desarrolla principalmente software interno y normalmente no hacemos muchas ramificaciones o fusiones. Estamos a punto de volver a desarrollar totalmente una de nuestras aplicaciones desde cero, por lo que vamos a empezar de cero con un nuevo proyecto. Este proyecto debe tener el mismo espacio de nombre, nombre, nombre de ensamblaje, etc. como el proyecto que está reemplazando, pero durante este time todavía necesitaremos respaldar y mantener el proyecto anterior, así como todos los otros proyectos en la solución.
¿Cuál es la forma correcta de hacer esto? ¿Debo ramificar toda la solución o solo el proyecto en cuestión? En este último caso, ¿cómo manejo las dependencies al rest de la solución?
Dado que la aplicación reconstruida va a replace por completo la aplicación existente, y suponiendo que tiene las twigs principales y de desarrollo existentes, así:
Main (solution containing live v1.x application) | +---> Development (solution containing v1.(x+1) application)
Crearía una nueva twig para la solución desde la twig Principal, en la que se creará la aplicación v2.0:
Main (solution containing live v1.x application) | +---> Development (solution containing v1.(x+1) application) | +---> Dev2.0 (solution containing v2.0 application)
De esta manera:
Probablemente sea mejor ramificar toda la solución. De esta manera, puede mantenerlo por separado mientras está en producción. Cuando la nueva base de código esté list, puede bloquear la twig original para mantenerla protegida. Es más fácil de administrar y siempre sabrás en qué versión de la aplicación estás trabajando.