2012-03-13 28 views
29

Quiero volver en mi historial de bazar (cambiar árbol de trabajo) para encontrar la confirmación que introdujo un cierto error.Volver a la revisión anterior en Bazar

No quiero eliminar ninguna confirmación, simplemente cambie mi árbol de trabajo hasta que encuentre el error, y luego quiero volver a la última revisión para trabajar.

¿Cuáles son los dos comandos para que (volviendo a una anterior cometer y después la salida a la última revisión otra vez)?

Gracias de antemano.

+0

Nunca he usado Bazaar, pero en SVN las operaciones a las que se refiere son "actualización de la versión" y "actualización a la cabeza". fyi en caso de que los comandos relevantes en Bazar usen un lenguaje similar. – jhocking

Respuesta

21

Para revertir el árbol de trabajo a una revisión específica N:

bzr revert -rN 

para revertir el árbol de trabajo a la última revisión en la rama:

bzr revert 
+0

Esto hace que bzr considere que su árbol de trabajo tiene cambios locales, y 'bzr blame' no hace lo que esperaba. 'Bzr update -r ' De la respuesta de Don hizo lo que quería mejor, que era la arqueología pura en forma de "encontrar la confirmación que introduce un cierto error". Usar 'bzr update -r ' y rastrear usando 'bzr blame' a continuación funciona mejor para seguir con el cambio de nombre y refactorización. –

4

Para cambiar el directorio de trabajo al estado que tenía en una revisión anterior N

bzr revert -r N 

Para actualizar su copia de trabajo al estado en que tiene en la última revisión:

bzr up 

Bazaar Quick Reference Card

13

Hay dos maneras de llevar su árbol de trabajo en el tiempo a la revisión N. El primero se ha mencionado en otras respuestas aquí :

bzr revert -rN 

que modificarán todos los archivos necesarios para que su árbol de trabajo coincide con el contenido de la revisión N. Si ejecuta bzr status se mostrará todos esos archivos tan cambiado. Si ejecuta bzr commit entonces todos esos cambios hacia atrás obtendrían confirmada y su revisión HEAD serían ahora parecerse a la revisión N.

para volver a la versión más reciente en su rama:

bzr revert 

También puede ejecutar bzr update , pero eso podría obtener algunas revisiones más recientes si su sucursal es un pago y envío.

La otra opción para retroceder en el tiempo es la siguiente:

bzr update -rN 

La diferencia entre los dos es que bzr update hace que parezca como si se han realizado cambios. Es solo que su árbol de trabajo no está actualizado.

para volver a la versión más reciente en su rama:

bzr update 
+0

'bzr update' es exactamente lo que estaba buscando –

4

Otros comentaristas que respondieron con bzr revert -rN son sin duda correcta en el sentido de que esa es la respuesta directa a la pregunta, ya que se le pidió, sin embargo, si tiene una gran cantidad de confirmaciones para comprobar para detectar la presencia de un error, es mucho más eficiente usar la bisección.Una vez me presentaron un error donde el último commit bien conocido fue de hace 300 commits, y bisection encontró el commit culpable en solo 8 pases (es decir, solo tuve que verificar 8 commits de 300 para poder encontrar el que introdujo el error).

http://doc.bazaar.canonical.com/plugins/en/bisect-plugin.html

Si se siente abrumado por el número de posibles se compromete es necesario comprobar, esto debería reducir la cantidad de esfuerzo que supone significativamente!

0

puede usar bzr ingrese --forward para ver sus versiones anteriores con la clasificación DESC

y se puede usar bzr volver -r para el cambio de su versión a la

si desea volver a la última version solo bzr revertir

Cuestiones relacionadas