← Back to team overview

vm team mailing list archive

Re: Warning about bzr rebase

 

Tim Cross writes:

> While I agree with Uday's points on using rebase, I wanted to flag that the
> latest Ubuntu comes with bzr-rebase 0.5.5, which has a very nasty
> bug. See 

That is very unfortunate.  If you can't use rebase, then there is a
low-tech way of preserving the history of changes.  I was actually
going to write about that in my message, but then remembered rebase
and figured that that would be much easier.

The low-tech method is for you to maintain subdirectories as follows:

   vm
     trunk
     branch1
     branch2
     ...

where trunk is a mirror of the trunk on launchpad and the branchN
mirror the corresponding development branches on launchpad.

Normally, you would commit a few changes to each branch and then merge
the trunk to see if they are compatible.  That messes up the history
of changes I described in the earlier message.

Instead, the recommended method is to restrict the branchN branches to
your own commits and merge them into the *trunk* when you want to
check for compatibility.  After each merge, you probably need to
resolve conflicts and test the merge.  Then you have to throw the
merge away, without committing it.  Unfortunately, the effort you have
spent on doing the merge gets wasted.  To save some of it, you can
duplicate the changes needed for resolving the conflicts in your own
branchN, so that those incompatibilities would be removed once and for
all.  

Without using rebase, this is the only way I know to preserve
history.  Hopefully, bzr will get fixed soon and we won't have to do
this for very long.

Cheers,
Uday



References