Tracking changes -- merge unrelated banches?

Jari Aalto jari.aalto at cante.net
Sun Jan 21 12:38:36 GMT 2007


Does anyone have ideas how to move merges around in following 
situation 

    1. Download project foo's package
    * import it to bzr
  
    2. This project also has development site (under bzr)
    * branch the develpment site.

The problem is that it is not easy to share changes between 1 and 2. I
may be wrong, so plase correct. I have setup the project like this:

    cd foo/
    bzr init-repo --trees .
    <unpack the foo-1.0-1.tar.gz>
    cd  foo-1.0-1/
    bzr init
    bzr ci -m "- original foo-1.0-1"

    <going to fix a bug>
    bzr branch foo-1.0-1 foo-1.0-1+bug23456
    cd foo-1.0-1+bug23456/
    <do the work & bzr ci ...>

Suppose new version comes:

    cd foo/
    <unpack the foo-1.1-1.tar.gz & import ...>

Moving the bug fix upward is easy:

    bzr branch foo-1.1-1 foo-1.1-1+bug23456
    cd foo-1.1-1+bug23456
    bzr merge ../foo-1.0-1+bug23456

Now it gets interesting. I want to package the current upstream devel:

    cd foo/
    bzr branch http://example.comr/bzr/foo foo-devel

    bzr branch foo-devel+bug23456

The tree looks like:

    foo/
      |
      +-foo-1.0-1/
      +-foo-1.0-1+bug23456/
      +-foo-1.1-1/
      +-foo-1.1-1+bug23456/
      |
      +-foo-devel/
      +-foo-devel+bug23456/

How do I get all the bug fixes integrated with the devel? That is, I
cannot merge:

    $ cd foo-devel+bug23456/
    $ bzr merge ../foo-1.1-1+bug23456
    bzr: ERROR: Branches have no common ancestor, and no merge base revision was specified.

due to "foo-devel" being totally unrelated to previous branches.

Jari




More information about the bazaar mailing list