Is "bzr push" safe?

Martin Pool mbp at sourcefrog.net
Wed Nov 30 00:57:49 UTC 2011


On 30 November 2011 11:51, Patrick Doyle <wpdster at gmail.com> wrote:
> Hi Martin,
> Thank you for your reply.  But now I'm confused (because I fully
> expected the answer to be "that was a flaw that was corrected in
> version X.Y).
>
> When I read the documentation for "bzr push", it says that it only
> works for branches that have not diverged.  I assumed that meant I can
> only change a destination branch via "push" by appending to it, making
> the "append_revisions_only" directive superfluous.
>
> It would seem that I'm misunderstanding something here.  Since I have been doing
>
> $ bzr pull
> edit/test/commit trivial change
> $ bzr push
>
> I think that I am, in fact, only appending.  But now I'm worried that
> I'm misunderstanding something fundamental.
>
> What would I do differently if I wanted to deliberately do it wrong?

bzr branch trunk feature
bzr ci trunk -m 'foo' --unchanged    # makes r100 on trunk
bzr ci feature -m 'feature 1' --unchanged    # makes a different r100 on feature
bzr push -d feature trunk   # fails because they are diverged
bzr merge -d feature trunk && bzr ci -m "merge trunk" feature   # now
feature's r101 includes both
bzr push -d feature trunk

This last command succeeds, but now r100 on trunk is different to what
it used to be.  'bzr log -n0' on trunk will show it has moved off to
the side and the 'feature' history is primary.

-- 
Martin



More information about the bazaar mailing list