Size: 2402
Comment: Mention checkout creating bound branches at the moment.
|
Size: 2531
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 58: | Line 58: |
madduck: {{{ I would love to see this feature. It would get me one step further to the endeavour of synchronising $HOME.}}} |
Big Note
This is very new in Bazaar-NG. Expect some heavy bumps in order to play with this feature. In particular:
Robert Collins:
Users using the 0.8pre 'checkout' feature, or 'repository' features may need to adjust their .bzr dirs to have a lockdir of the type just introduced. I don't have instructions for that, but I will as soon as I do the dogfood upgrade myself.
Martin Pool:
It should be enough to replace the file called "lock" with an empty directory of the same name. Just to be clear: this doesn't affect old-format branches created with bzr 0.8.
Robert Collins:
Yup that works, except it seems that only the .bzr/repository lock has been updated - .bzr/branch/lock still needs to be a standard file.
Description
Bound branches are a way to make sure that both a local branch and a remote branch have the same revisions. This is particularly useful if one likes to work on two machines or if one works on a laptop and then pushes a branch into a public place.
Bound branches can be stated in simpler terms. When a branch is bound to another branch, the commits for the branch will be applied to the other branch first.
How do I use bound branches?
General description of setting up bound branches
The general workflow looks something like this:
- Push a branch to somewhere else, perhaps your ISP.
- Make sure the pushed branch is up to date
- cd into the branch that you want to bind to the remote branch
- run the bzr bind LOCATION-OF-OTHER-BRANCH command
An alternative method is to use bzr checkout, which currently defaults to creating a bound branch when not invoked with --lightweight.
Examples of how to set up bound branches
$ cd somebranch/ $ bzr push sftp://me@here.com//home/me/newbranch $ bzr bind sftp://me@here.com//home/me/newbranch/
From now on, commits to the local branch will go to the other branch first.
Or, using checkout
$ bzr checkout sftp://me@here.com//home/me/somebranch
How to make a branch unbound
One can unbind a branch by changing into the working tree of a bound branch and running:
$ bzr unbind
Questions & answers
mutually bound branches
Is it possible/recommanded to have mutually bound branches? For example, working on two different machines, and keeping the branches synchronized.
madduck:
I would love to see this feature. It would get me one step further to the endeavour of synchronising $HOME.