Se perdió algún código después de hacer bzr commit –local, bzr pull, bzr commit

Un desarrollador de mi equipo ha estado usando una sucursal vinculada al server (IE, solo usando checkout, update y commit), pero también usa a menudo el indicador –local en commit y luego se compromete con el server en un lote. Recientemente experimentó una situación en la que le faltan algunas confirmaciones locales, y no puede encontrarlas en el repository O en su código local. Ella sospecha que esto se debe a que hizo un tirón en algún punto entre las confirmaciones locales y los compromisos del server.

Ninguno de nosotros tiene una experiencia particular con Bazaar: ¿qué pudo haber sucedido y dónde podemos search este código faltante? Ella está bastante segura de que nunca hizo nada destructivo, y estoy bastante seguro de que Bazaar le habría preguntado si iba a hacer eso. Recuerdo vagamente que Bazaar tiene una noción de repos / treees "ocultos" / lo que sea donde pone las cosas antes de cambiar un montón de código, de la que alguien podría recuperar el código perdido, pero no puedo encontrar lo que es Google.

Descubrí que los "repos" / treees / lo "ocultos" a los que me refería son "cabezas muertas", vistos con bzr heads .

Encontramos nuestra cabeza muerta y la fusionamos de nuevo – ¡código guardado!

 $ bzr heads $ # output shows various heads, with names like: revision-id: john@mycomputer-20100630175358-39qro1z5qdq2o9ay(dead) $ bzr merge john@mycomputer-20100630175358-39qro1z5qdq2o9ay 

Si todo lo demás falla, puedes intentar preguntar en el canal IRC del bazar.

Ve allí ahora * y pasea por el canal #bzr. Generalmente hay personas allí y generalmente son útiles.

** Esa es la interfaz web de freenode. Si no ha utilizado el IRC anteriormente, crea su propio alias, elija el canal #bzr y no necesita autenticar (siempre que su alias sea único). *

En cualquier momento puedes hacer un

 bzr status 

y esto le corresponderá si hay algún cambio no confirmado, incluidas las fusiones que no se hayan confirmado. Esto puede ayudar a determinar dónde está todo. Si realiza una combinación y no la ha seguido con una confirmación (haya o no haya conflictos), el resultado de la fusión permanecerá sin confirmar.

Hacer una bzr pull no debería haber borrado ningún trabajo, como yo lo entiendo, simplemente debería fallar si la sucursal local no ha realizado cambios.