This chapter explains how to work together with others in a small team. The most natural way to achieve this in Bazaar is by branching and merging from each other.
In essence, this is not very different from working solo and using multiple branches. However, instead of all the branches existing on your computer, they are spread out across multiple computers. Therefore, the branch operations between collaborators must take place over the network.
We will show you a few simple ways of sharing branches with others over the network, as well as a few example workflows that you can use to combine the various branch operations and collaborator branches in an organized manner, for the evolution of the project.
We will cover the following topics in this chapter:
Working together with others is technically very similar to working on multiple branches by yourself—the same way as you would create a new branch based on another one on your computer to work on a new feature. A collaborator can create the new branch on his or her computer to do the same. When the feature is complete, you can merge from a collaborator's branch in the same way as you would merge from any of your own branches.
The most natural way to collaborate with others using Bazaar is by branching and merging from each other. In order for this to work, the branches involved in the operations between you and your collaborators must be accessible by Bazaar in some way:
We refer to branches on your computer as local branches, and branches on other computers as remote branches.
All the branch operations in Bazaar work completely transparently and consistently between branches, whether they are local or remote. Even the syntax is the same; you can simply specify remote branches by their remote URLs instead of a local filesystem path as in the case of local branches.
As long as a remote branch is accessible by a remote URL and supported protocol, you can branch, merge, or mirror from it in exactly the same way you do with local branches.
We will show a few simple ways of making branches accessible to others, in order to let collaborators perform the various branch operations, such as branching, merging, or mirroring.
Another important aspect in collaboration is the manner in which you and your collaborators combine the various branch operations using the various branches in the project.
We will show a few example workflows that you can implement when working with a small number of peers. The workflows will involve a combination of various branch operations, such as branching, merging, and mirroring.
18.118.226.109