Como saben los regulares de este blog, hace bastante tiempo me he rendido ante Bazaar, el sistema de control de versiones distribuido creado por Canonical y parte del proyecto GNU; más poderoso que SVN, más simple que git… en fin.
Una secuencia de acciones me llevó a una situación terrible: por un momento pensé que había perdido un conjunto de cambios del historial. La condiciones fueron más o menos las siguientes:
- Estaba trabajando en una copia local sobre la cual no sabía que estaba bindeada a un repositorio remoto (o sea, un checkout)
- Hice commit de un conjunto de cambios (que se grabaron con número de revisión 5)
- Ejecuté un
bzr bind, con lo se aplicaron una serie de cambios que estaban en el repositorio remoto - La versión del repositorio local bajó a 4… ¡los cambios realizados en la 5ª versión no estaban en ninguna parte!
En resumen, lo que había ocurrido era que había cambiado de línea temporal (al mejor estilo Fringe). Transformar nuevamente la copia en una rama no solucionaba nada, sin embargo suponía que esa revisión debía existir en el repositorio…. ¿cómo restituirla?