Controlling which specs are versioned
By default, all specs (//spec/...
) are versioned. You can
use the SpecMap:
field to control which specs are versioned
by adding lines in depot syntax that include (or exclude) paths in the
spec depot.
For example, you can exclude the protections table from versioning by
configuring your spec depot’s SpecMap:
field as follows:
SpecMap: //spec/... -//spec/protect.p4s
Certain formtypes (for example, the protect, triggers, and typemap forms, plus license updates) might have several versions, but only have a single incidence of that type of form on the server. Such formtypes have no objectname. Referencing such formtypes in the SpecMap field of the spec depot requires the suffix .p4s or the wildcard *.
In an environment such as a build farm, in which large numbers of temporary client workspaces and/or labels are created, you can configure the spec depot to exclude them, while keeping track of other changes to client workspaces and labels. For example, a spec depot configured with the following spec mapping:
SpecMap: //spec/... -//spec/client/build_ws_* -//spec/label/temp_label_*
will no longer track changes to client workspaces whose names begin with
build_ws_
, nor will it track changes to labels whose names
begin with temp_label_
.
Note that adding or changing the SpecMap:
field only
affects future updates to the spec depot; files already stored in the
spec depot are unaffected.