Perforce 2000.2 Command Reference (2000.2.cr.1) | ||
<< Previous Chapter File Specifications |
Table of Contents Index Perforce on the Web |
Next Chapter >> File Types |
Each type of view consists of lines which map files from the depot into the appropriate namespace. For client and branch views, the mappings consist of two file specifications. The left side of the mapping always refers to the depot namespace, and the right side of the mapping refers to the client workspace or depot namespace. For label views, only the left side (the depot namespace) of the mapping need be provided - the files thus specified are then associated with the desired label.
All views construct a one-to-one mapping between files in the depot and the files in the client workspace, branch, or label. If more than one mapping line refers to the same file(s), the earlier mapping will be overridden. Mappings beginning with a hyphen (-) will specifically exclude any files that match that mapping. If multiple mappings in a single view lead to files which fail to map the same way in both directions, the files will be ignored.
File specifications within mappings are provided in the usual Perforce syntax, beginning with //, followed by the depot, client, or label name, and followed by the actual file name(s) within the depot or client. File specifications within mappings may contain the usual Perforce wildcards of *, ..., and the substring positional specifiers %1 through %9.
The order of mappings in a client or branch view is important. For instance, in the view defined by the following two mappings:
//depot/... //cws/...
the depot will be mapped to the client workspace, and the file //depot/dir1/file.c will then be mapped to //cws/dir2/file.c. If the order of the lines in the view is reversed, however:
//depot/dir1/... //cws/dir2/...
//depot/dir1/... //cws/dir2/...
then the file //depot/dir1/file.c will be mapped to //cws/dir1/file.c, as the first mapping (mapping the file into //cws/dir2) will be overridden by the second mapping (which maps the entire depot onto the client workspace). A later mapping in a view will always override an earlier mapping.
//depot/... //cws/...
If a path listed in a client view contains spaces, make sure to quote the path:
//depot/dir1/... "//cws/dir one/..."
When files are checked out, they are copied from the depot to the locations in the client workspace to which they were mapped. Likewise, when files are submitted back into the depot, the mapping is reversed and the files are copied from the client workspace back to their proper locations in the depot.
The following table lists some examples of client views:
To create a client view, use p4 client. This will bring up a screen which allows you to specify which files in the depot will map to the files in your client workspace.
Branch views map existing areas of the depot (the source files) onto new areas of the depot (the target files). They are defined in a manner similar to that used for defining client views, but rather than mapping files directly into a client workspace, they merely set up mappings within the depot.
To create a branch view, use p4 branch newbranch. This will bring up a screen (similar to the one associated with p4 client) and allow you to map the donor files from the main source tree onto the target files of the new branch.
No files are copied when the branch is first created. To copy the files, you must ensure that the newly-created files are included in any client workspace view intending to use those files. This may be done by adding the newly-mapped branch of the depot to your current client workspace view and performing a p4 sync command.
To create a label, use p4 label labelname, and enter the depot side of the view. As a label is merely a list of files and revision levels, only the depot side (i.e. the left side) of the view needs to be specified.
Perforce 2000.2 Command Reference (2000.2.cr.1) | ||
<< Previous Chapter File Specifications |
Table of Contents Index Perforce on the Web |
Next Chapter >> File Types |