Map a single depot path to multiple locations in a workspace
Helix Server includes a "one-to-many" mapping feature, with which you can map a single depot path to multiple locations in a client workspace. (This feature is also known as ditto mapping.)
One-to-many mapping is also available for stream specs in the 2021.2 release and later. See the
import& type in Stream views and paths.
This feature does not support graph depots A depot of type graph that is used to store Git repos in the Helix Server. See also Git Connector and classic depot..
Consider the following scenario: A company has a website whose content is divided into categories such as products, documentation, and technical support. The content for each of these categories is managed in its own location in the workspace.
However, all of these websites display the same logo. Consequently, all three of the locations in the workspace must contain the same image file for the logo.
You might try to map the depot path like this:
View: //Acme/images/logo.png //bruno_ws/products/images/logo.png //Acme/images/logo.png //bruno_ws/documentation/images/logo.png //Acme/images/logo.png //bruno_ws/support/images/logo.png
When you sync the client, the depot file will only be mapped to the
support location in the workspace. By default, in a
situation in which a workspace view attempts to map a depot path to multiple
locations in a client, only the last location is mapped.
the one-to-many mapping feature, prepend
& to the mapping
line for each additional client location you want to map to:
View: //Acme/images/logo.png //bruno_ws/products/images/logo.png &//Acme/images/logo.png //bruno_ws/documentation/images/logo.png &//Acme/images/logo.png //bruno_ws/support/images/logo.png
When you sync the client, the depot file maps to all three locations.
lines prepended with
& are read-only, so in the example above //bruno_ws/documentation/logo.png and //bruno_ws/support/logo.png are read only.