### A quick review

Here are some of the more important but subtle issues associated with working in a repository .

- The project was tagged as a version by versioning the project as it appeared in the Workbench. For this reason it is important to synchronize the project with the repository (that is the HEAD or the branch that is being worked in) prior to versioning it. Otherwise another user may have committed interesting changes to the project which have yet to be updated in the Workbench. By proceeding to version the project without updating, it will be versioned without these changes.
- The repository contains all projects in the repository. Individual users pick which projects they are interested in and check them out into the workspace. From that point on they are synchronizing those projects (only) with respect to the repository.
- The repository represents a large in-progress collection of all known projects. From the repository's perspective, everything in HEAD or on a branch is always open for change.
- The act of versioning a project effectively snapshots it and places it into the Versions section of the repository, however the repository branches are still open for change.
- It is important to first update to changes made to the repository, retest with those changes and the soon to be committed changes and then commit the changes. By first taking the latest changes in the branch, and retesting, it helps to ensure that the changes about to be committed will actually work with the current state of the branch.
- Each project is associated with a specific repository. Different projects can be associated with different repositories that may be on completely different servers.