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/...

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.