[MERGE] StackableBranch

Andrew Bennetts andrew at canonical.com
Tue Jun 10 08:00:13 BST 2008


Ian Clatworthy wrote:
> Aaron Bentley wrote:
> > Ian Clatworthy wrote:
> >> # Bazaar merge directive format 2 (Bazaar 0.90)
> >> # revision_id: ian.clatworthy at canonical.com-20080610045325-\
> >> #   hi3yug3nasoe6e1h
> >> # target_branch: ../Development1/
> >> # testament_sha1: faebafc1e65c0665e9bf55332d74bbfdf373afa0
> >> # timestamp: 2008-06-10 15:17:34 +1000
> >> # base_revision_id: ian.clatworthy at canonical.com-20080610013832-\
> >> #   9dt6c5h67eckiezo
> > 
> > Please don't submit unmergeable merge directives.
> > 
> > Bundle Buggy is freaking out because it doesn't have a copy of
> > ian.clatworthy at canonical.com-20080610013832-9dt6c5h67eckiezo and it
> > can't get one from ../Development1
> > 
> > Please either use bzr.dev as the submit branch, or supply some other
> > valid external URL for the submit branch.
> 
> I've set public_branch to bzr.dev in my locations.conf for these
> branches now. Does that fix it? I thought I needed to keep the
> submit branch as the previous one in the loom (post export) so
> that the preview diff came out correctly?

AIUI, the way to send a branch that depends on another, as-yet unmerged branch,
is to specify that unmerged branch as the SUBMIT_BRANCH.  That way the
target_branch will be the unmerged branch, and the base_revision_id can be found
in the target_branch.

e.g.:

  $ cd feature-1
  $ bzr send
  $ cd ..
  $ bzr branch feature-1 feature-2
  $ cd feature-2
  ... hack hack hack ...
  $ bzr send ../feature-1

That final line will send a bundle of just the changes in feature-2 relative to
feature-1, with target_branch etc. set appropriately.

To be honest, I don't think we've got the UI for send 100% right yet.  Users
keep struggling with it.

Maybe in this case it's partly due to a limitation of the current merge
directive format, because the ultimate “target branch” in this case is actually
bzr.dev, not feature-1, but the merge directive has no way to indicate that.
Possibly it needs to have base_branch(es) in addition to target_branch?

-Andrew.




More information about the bazaar mailing list