Reparar conflictos en Bazaar

Bazaar es el sistema de control de versiones utilizado por Launchpad para sus proyectos, por lo tanto Monocaffe Connections Manager utiliza Bazaar. Al igual que CVS, SVN y GIT, bazaar (bzr) tiene sus raíces en la línea de comandos, pero además aporta una herramienta GTK muy fácil de utilizar llamada Olive



Una de las cosas más llamativas de Bazaar es la resolución de conflictos. Cuando intentamos realizar un commit contra una rama que está en conflicto con nuestra rama local, Bazaar creará tres ficheros: .OTHER, .THIS y .BASE. Para resolver el conflicto podemos utilizar vimdiff, emacs o meld. Por defecto, Olive intentará utilizar meld, por lo que recomiendo tenerlo instalado y porque además es muy útil la herramienta.

Estos tres ficheros serán abiertos por Meld, por lo que sólo tenemos que integrar los cambios que deseamos tal que los tres ficheros sean iguales (no entremos en detalles sobre cada uno de los ficheros y las posibilidades, esto es lo más sencillo y rápido para resolver el conflicto). Guardamos los ficheros y cerramos Meld. Aquí nos encontramos con un pequeño detalle del que adolece Olive, no tiene ninguna opción para resolver el conflicto, por lo que tendremos que tirar de línea de comandos y ejecutar lo siguiente:

bzr resolve file.txt

De esta forma, los tres ficheros desaparecerán y podremos realizar nuestro commit.