--- monotone.texi.old 2005-04-07 09:31:25.000000000 +0200 +++ monotone.texi 2005-04-07 10:10:28.000000000 +0200 @@ -1078,6 +1078,7 @@ * Network Service:: * Making Changes:: * Dealing with a Fork:: +* Creating and merging Branches:: @end menu @@ -2110,6 +2111,42 @@ step) and your committed state is still safe. It is therefore recommended that you commit your work @emph{first}, before merging. address@hidden address@hidden Creating and merging Branches address@hidden Creating and merging Branches + +Commit/update is all well and good, but if the Jim wants to create a +completely new version with significant architectural changes at the +same time as Beth they continues to fix bugs in the stable version, he +probably ought to put these changes in a separate branch. + +After having made a few of these significant changes that should not +be put in the stable branch, Jim can commit using the --branch +parameter: + address@hidden address@hidden +$ monotone commit --message='added foo function that only I want, creating new branch' --branch=jp.co.juicebot.unstable address@hidden group address@hidden smallexample + +And as time goes by, the stable branch does indeed get a few bugs +fixed in components that are still used in the devel branch. Naturally +Jim wants to use these same fixes in the devel branch, instead of +copy-paste'ing the fixes to the devel branch. + +To do this Jim can use the propagate command: + address@hidden address@hidden +$ monotone propagate jp.co.juicebot.jb7 jp.co.juicebot.unstable address@hidden group address@hidden smallexample + +This will propagate the changes made to the jb7 branch to the unstable +branch, merging the changes into the destination branch the same way +as when a monotone merge command is issued. + @node Advanced Uses @chapter Advanced Uses