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. Yuck, that's horrible!
So the end result is that the source tree is indistinguishable from what it would have been, but the bzr log is totally screwed up. :(
Once again, I'm sorry for the screw-up. I should have been more circumspect.
Who knew bzr could even do this?! :(
Anyway, I've set the branches to append only mode, so hopefully this kind of 'smart' feature is defeated.
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.
Andrew