ense. On
the contrary, any repository needs to be able to deal with traditional files and file systems, to locate items stored in such file systems, and to map them into its view of the project world.
Version Management
In a multiuser environment, recording the life history of each object is a crucial task, because users might create numerous parallel development paths and not know how to bring them together again in one consolidated version. Version management keeps track of all the variants automatically and ensures that developers work with the latest versions at all times.
Configuration Management
A set of particular versions of an application's component objects is called a configuration. The repository administers many such configurations at the same time. For example, one configuration might be for Windows NT hosts, and another for Unix hosts. Configurations can contain subconfigurations, thus allowing for the mixing and matching of builds.
Context Management
Since a repository can contain millions of items, it's important for users to see only what's relevant to them, satisfying requests such as "Show me release version 1.02" or "Show me only the German language versions." This goal can be achieved by workspaces, which belong to particular users and reveal only a specified subset of a repository's contents. Workspaces also offer a good way to segment a single physical repository for use by different programming teams or different departments and for different products. Content management controls the visibility of a repository's content, thus making navigation easier.