Map different depot locations to the same workspace location
Overlay mappings enable you to map files from more than one depot directory to the same place in a workspace.
Overlay mappings are:
-
Useful for applying sparse patches in build environments.
-
Fundamental to Sparse streams.
To overlay the contents of a
second depot path on top of a prior depot path mapped to the same workspace directory, use a plus sign (+) in
front of the mapping.
Example: Overlaying multiple directories in the same workspace
Maria wants to combine the files from her projects when they are synced to her workspace, so she constructs this view:
View:
//Acme/proj1/... //maria/project/...
+//Acme/proj2/... //maria/project/...
The overlay + mapping //Acme/proj2/... maps to
//maria/project, and overlays the first mapping, which is //Acme/proj1/....
When multiple directories are overlaid in this way, only the last directory is writable. In this example, the files in //Acme/proj2/ are writeable and the files in //Acme/proj1/ are read-only.
Overlay mappings avoid conflicts because the files in the overlay take precedence:
-
If only
//Acme/proj1/ReadMe.txtexists,//Acme/proj1/ReadMe.txtis mapped to the workspace. -
If only
//Acme/proj2/ReadMe.txtexists,//Acme/proj2/ReadMe.txtis mapped to the workspace.
-
If both
//Acme/proj1/ReadMe.txtand//Acme/proj2/ReadMe.txtexist (not obliterated), even if one or both are deleted,//Acme/proj2/ReadMe.txtis mapped to the workspace.
The files in the overlay take precedence and this applies even in the following cases:-
//Acme/proj2/ReadMe.txtis deleted and//Acme/proj1/ReadMe.txtis not deleted -
//Acme/proj1/ReadMe.txtis deleted and//Acme/proj2/ReadMe.txtis not deleted
-