Andrew Stubbs <a...@codesourcery.com> writes:
> On 05/05/11 08:43, Richard Sandiford wrote:
>> Anyway, the bzr help page seemed to suggest that merging in the new
>> 4.6 revision was the Right Thing to do.  I'm afraid that, once again,
>> it felt so natural to resolve push conflicts this way that I didn't even
>> question the assumption.  I did the merge, and as expected, there was
>> only one new commit: your change from yesterday.  So I committed the
>> merge and pushed again.  bzr was happy this time.  I didn't need any
>> special options to push.  Perhaps if I had, overdue alarm bells might
>> finally have rung.
>
> OK, so if I understand correctly, the merge was done correctly, but then 
> the push didn't work. So far so good.
>
> But then, merging from 4.6 to synchronize the branches somehow convinced 
> bzr that it was ok to push without --overwrite, even though that would 
> rewrite history.

Seems that way.  FWIW, I thought when mecurial did this kind of thing,
it preserved the history of both strands.  Maybe git does too; I've
never used git for a shared-push repo like this.  I hadn't realised
history could be lost.

But just to be clear, in the kind of situation where person A has pushed
a new revision while person B was doing a merge, what should person B do
when the push fails?  Should they undo the local merge, pull, then merge
again?  Or is there a better way?  Do you mean that:

> BTW, there is a bzr plugin named 'rewrite' that adds a 'rebase' command 
> that works better in the case of diverged branches. It's slow as hell 
> though.

this is the right thing to do instead?

Once again, I realise I should have asked this _before_ messing
things up, sorry. :-(

Richard

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
http://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to