lunes, 10 de septiembre de 2007

Merges y Conflictos

En el desarrollo de Software utilizamos Sistemas de Control de Versiones , como por ejemplo CVS o Subversion, para controlar las versiones o revisiones de nuestro codigo fuente. Una practica comun consiste en crear branches o ramas a partir de una linea base o tronco para el desarrollo de una funcionalidad en particular.
Cuando mergeamos los branches creados con la linea base a partir de la cual fue creada solemos encontrarnos con conflictos.

Se puede tener una gran cantidad de conflitos debido a diferentes razones:

- La introduccion de gran cantidad de cambios en el branch.
- La introduccion de cambios en los archivos de la linea base que tambien son modificados en el branch.

Para evitar este tipo de conflictos lo recomendable es:

- Evitar que pase mucho tiempo entre la resolucion del branch y el merge con la linea base.
- Evitar crear branches si la arquitectura de la aplicacion no esta totalmente o en gran porcentaje definida.
- Evitar introducir cambios grandes no necesarios en los branches.
- Evitar crear branches durante un refactory de clases, realizar la creacion de branches una vez finalizado el refactory.

1 comentario:

Martin dijo...

Gracias a mis compañeros de trabajo por su aporte.