Search code examples
bazaar

What's the difference between a stacked branch and a stacked push in bzr?


What's the difference between a stacked branch (bzr branch --stacked source-url my-dir) and a stacked push (bzr push --stacked)? Well, other than the obvious that one is a branch and the other is a push. Meaning, the documentation for stacked branches says that stacked branches and pushes can be used in concert. From what I can tell, a stacked branch eliminates extra information on the client side whereas a stacked push eliminates extra information on the server side. Is this correct? What are use scenarios where we would use one, but not the other?


Solution

  • One creates a local branch that is stacked, and one creates a remote branch that is stacked.

    E.g. if you do:

    bzr push -d local-branch --stacked bzr+ssh://example.com/foo/bar
    

    then that will create a remote branch that is stacked (on local-branch, or something else if the remote server overrides the stacked branch like Launchpad does).

    bzr branch bzr+ssh://example.com/foo/bar /tmp/bar
    

    will create a local branch /tmp/bar that is stacked on bzr+ssh://example.com/foo/bar