Utilizamos Subversion como nuestro sistema de control de origen y almacenamos los archivos de proyecto de VisualStudio (vcproj) en el sistema de control de origen como es normal, creo. Con Subversion no usamos ningún tipo de bloqueo de archivos, por lo que si dos desarrolladores trabajan en el mismo proyecto al mismo tiempo y ambos agregan archivos al proyecto o cambian las configuraciones, el segundo para comprometerse debe fusionar los cambios.¿Cómo maneja los archivos .vcproj en el control de código fuente que son modificados por múltiples desarrolladores?
¿Cómo fusiona estos cambios?
Los archivos vcproj son solo archivos de texto, por lo que es posible editarlos a mano, pero no son muy fáciles de editar a mano, especialmente por los desarrolladores junior.
Las maneras en que puedo pensar son
- obtener la última versión del SVN y volver a agregar todos los cambios locales manualmente
- editar el archivo a mano para resolver cualquier conflicto de una fusión automática
- Implemente algún tipo de esquema de bloqueo para evitar cambios simultáneos
- Tenga un acuerdo entre los desarrolladores para que no realicen cambios simultáneos
Actualmente estamos utilizando la primera opción de volver a agregar todos los cambios manualmente, pero esto lleva mucho tiempo y me pregunto si hay una forma mejor.
Con archivos fuente, la función de combinación automática funciona la mayor parte del tiempo y no obtenemos muchos conflictos.
Puede encontrar que si tiene colisiones frecuentes en el check-in, puede beneficiarse cambiando la forma en que se organiza el árbol de su proyecto. IE: en lugar de tener un archivo .vcproj con 500 archivos, tiene 1 proyecto con 50 archivos que enlaza a 9 bibliotecas con 50 archivos cada una. Si encuentra que * no puede * dividir su proyecto en bibliotecas separadas, es posible que gastar el tiempo para hacerlo posible al final aumente la eficiencia del desarrollador, porque la modularidad ayuda con algo más que el mantenimiento del archivo de proyecto. – KeyserSoze