A quick review
Now that we have experienced the fun of working in a stream it's time to step
back and take note of some of the more important but subtle issues related to
working with a repository.
- When we versioned the project we did so by
versioning the project as it appeared in our workbench. For this reason it is
important to synchronize the project with the stream prior to versioning
it. Otherwise another user may have released interesting
changes to the project which you have yet to catch up to. If you proceed to
version the project without catching up, you will version it without these
changes.
- The stream contains all projects in the
repository. Individual users pick which projects they are interested in and add
them to the workspace. From that point on they are synchronizing those
projects (only) with respect to the stream.
- The stream represents a large in-progress collection of all known
projects. From the stream's perspective, everything is always open for
change.
- The act of versioning a project effectively snapshots it and places it
into the Project Versions section of the repository, however the stream is
still open for change.
- It is important to first catch up to changes made to the stream, retest with
those changes and your soon-to-be-released changes and then release your
changes. By first taking the latest stream changes, and retesting, it helps
to ensure that the changes you are about to release will actually work with the
current state of the stream.
- Each project is associated with a specific stream in a specific
repository. Different projects can be associated with different repositories
that may in fact be on completely different servers.