Search code examples
bazaar

Procedure to make Bazaar Subtrees


I have been struggling to make bazaar subtrees work (documentation is sparse as opposite to git submodules).

My repo sample layout is

root (d)
  .bzr (d)
  MyFolder (d)
    MyData2.txt
  SubRepo  (d)
    MyData3.txt
  MyData.txt

I have tried the following commands in the bazaar repo (to make a subtree out of a top level folder "SubRepo"):

bzr split SubRepo
bzr join --reference SubRepo
bzr commit SubRepo

Now, I am not sure how to proceed (ie. to list the subtrees in main subtree, commit/push the subtree to a remote repo, etc.)

My understanding is that when finished the subfolder must live in its own repo and it must be possible to populate the "SubRepo" folder from the main repo by pulling from the remote subfolder repo.

I am following instructions from http://wiki.bazaar.canonical.com/NestedTreesDesign#id20

Anyway, If not else, I will post here my findings.


Solution

  • Bazaar nested tree support is unfinished. The URL you're linking (http://wiki.bazaar.canonical.com/NestedTreesDesign#id20) is a design document; it does not describe current behaviour.

    bzr split and bzr join will work but are for so-called "by-value" nested trees, e.g. simply merging in the containing tree rather than merely referencing it.

    bzr join --reference is partially implemented but does not fully work yet. It does not seem likely this will be available in the near future, as there is nobody actively working on nested tree support. See also this bug report on launchpad: https://bugs.launchpad.net/bzr/+bug/402814