A repository contains multiple versions of an object but only a single
version of the object is supplied when a query is made. The single
version is automatically selected from among a number of versions that
are otherwise returned in response to the query, based on a configuration
associated with a workspace in which the query originates. The selected
version of the object is then presented in a version resolved view,
without exposing any information related to versioning of the object.
Specifically, a number of configurations are established, each
configuration containing no more than one version of each object in the
repository. However, only one configuration is associated with each
workspace from which a query can originate. The configuration that is
associated with the workspace depends on whether the workspace is to be
used for design of the repository or for use of the repository during
live operation. Specifically, a single configuration (hereinafter "design
time" configuration) is commonly associated with the workspaces of all
developers. When the developers decide that a set of objects in the
repository is ready for use in live operation, the set of objects is
"deployed" by copying the design time configuration to generate a new
configuration (hereinafter "run time" configuration) that contains the
most current versions of all objects (as present in the design time
configuration). Any number of run time configurations can co-exist with
each other and with the design time configuration.