Re: bzr revert

From: Robert Collins <robertc@dont-contact.us>
Date: Tue, 25 Mar 2008 12:04:28 +1100

On Tue, 2008-03-25 at 10:34 +1300, Amos Jeffries wrote:
> Robert & Henrik,
>
> Some of us have found a knowledge-hole in the bzr revert process.
>
> We can easily reverse a patch using for example:
> bzr revert -r 8902
>
> But then when its fixed we don't know how to undo the undo.
>
> The local branch is left with code apparently up-to-date but is actually
> missing a changeset.
>
> How do we undo the local change back to actual?

'bzr revert' changes the working tree to be the same as a given revision
[with optional file list].
If you then do a commit - e.g:
bzr revert -r X
bzr commit
you are committing a changeset that happens to alter previously done
work, but bzr does not consider this a cherrypick or merge - the undo
will propogate.

To 'backout' something, or to reinstate something backed out, use
cherrypick merges.

e.g: backout revision X:
$bzr merge -r X..X-1 /bzr/squid3/trunk
$bzr commit -m "Backout linux memory fix."
Committed revision Z

to reinstate it, just backout the backout
$bzr merge -r Z..Z-1 /bzr/squid3/trunk
$bzr commit -m "Reinstate linux memory fix."

-Rob

-- 
GPG key available at: <http://www.robertcollins.net/keys.txt>.

Received on Tue Mar 25 2008 - 04:51:08 MDT

This archive was generated by hypermail pre-2.1.9 : Tue Apr 01 2008 - 13:00:10 MDT