While you commit changes to your branch, it's likely that other people will also continue to commit code to the parent branch.
To make sure your branch stays up to date, you should merge changes from the parent into your personal branch:
$ bzr merge Merging from saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk All changes applied successfully.
Check what has changed:
$ bzr diff
If you're happy with the changes, you can commit them to your personal branch:
$ bzr commit -m "Merge from main branch" Committed revision 295.
After you've worked on your personal branch of bzr-gtk, you may want to send your changes back upstream to the project. The easiest way is to use a merge directive.
A merge directive is a machine-readable request to perform a particular merge. It usually contains a patch preview of the merge and either contains the necessary revisions, or provides a branch where they can be found.
Replacing mycode.patch, create your merge directive:
$ bzr send -o mycode.patch Using saved parent location: http://bazaar.launchpad.net/~bzr/bzr-gtk/trunk
You can now email the merge directive to the bzr-gtk project who, if they choose, can use it merge your work back into the parent branch.
To learn about Bazaar on the command-line:
$ bzr help
To learn about Bazaar commands:
$ bzr help commands
To learn about the ''foo'' topic or command:
$ bzr help foo