Helix Core is now P4. Product user interfaces will be updated soon. Learn more >>

P4 Server Administration Documentation | 2026.1

# Spec depot

The spec depot is used to track changes to user-edited forms:

Form | Note
--- | ---
`branch` | See p4 branch.
`client` | See p4 client.
`depot` | See p4 depot.
`group` | See p4 group.
`job` | See p4 job.
`jobspec` | To get the history, use the `p4 filelog` command: `p4 filelog //my-spec-depot/spec/job.p4s` See p4 jobspec.
`label` | See p4 label.
`ldap` | See p4 ldap.
`protect` | See p4 protect.
`remote` | See p4 remote.
`stream` | See p4 stream.
`streamspec` | To get the history, use the `p4 filelog` command: `p4 filelog //my-spec-depot/spec/stream.p4s` See p4 streamspec.
`server` | See p4 server.
`triggers` | See p4 triggers.
`typemap` | See p4 typemap.
`user` | See p4 user.

A server is not required to have a spec depot, but a server is allowed to have one `spec` depot. If you already have a spec depot, attempting to create another one results in an error message.

To retrieve change histories of user-edited forms, you must enable versioned specifications. After you have enabled versioned specs by creating the spec depot, all such forms are automatically archived as text files in the spec depot. Filenames within the spec depot are automatically generated by the server, and are represented in P4 Server syntax as follows:

    //specdepotname/formtype/[objectname[suffix]]

which allows you to then use p4 print on a specific revision of the stream form.

The `protect`, `triggers`, and `typemap` forms are unique to the server. See Control which specs are versioned.

In this section:

Your search for returned results