Configure a stream

To configure a stream you edit its associated stream spec. A stream spec names a path in a stream depot to be treated as a stream. A spec defines the stream’s location, its type, its parent stream, the files in its view, and other configurable behaviors. It is created when you create a stream with the p4 stream command. You can update the spec’s entries — as described in Update streams — to change the stream’s characteristics.

The following is a sample stream spec:

$ p4 stream -o //Acme/dev
# A Perforce Stream Specification.
#
# Use *'p4 help stream'* to see more about stream specifications and command.

Stream:  //Acme/dev

Update:  2015/02/06 10:57:04

Access:  2015/02/06 10:57:04

Owner:   bruno

Name:    //Acme/dev

Parent:  //Acme/main

Type:    development

Options: allsubmit unlocked toparent fromparent mergeany

Description:
         Our primary development stream for the project.

Paths:
         share ...
         import boost/... //3rd_party/boost/1.53.0/artifacts/original/...
         import boost/lib/linux26x86_64/... //3rd_party/boost/1.53.0/artifacts/original/lib/linuxx86_64/gcc44libc212/...
         import boost/lib/linux26x86/... //3rd_party/boost/1.53.0/artifacts/original/lib/linuxx86/gcc44libc212/...
         import protobuf/... //3rd_party/protobuf/2.4.1/artifacts/patch-1/...
         import gtest/... //3rd_party/gtest/1.7.0/artifacts/original/...
         import icu/... //3rd_party/icu/53.1/artifacts/original/...
         import p4-bin/lib.ntx64/vs11/p4api_vs2012_dyn.zip //builds/p15.1/p4-bin/bin.ntx64/p4api_vs2012_dyn.zip
         import p4/... //depot/p15.1/p4/...
         exclude p4/lbr/...
         exclude p4/server/...

Remapped:
         p4/doc/... p4/relnotes/...

Ignored:
         .../~tmp.txt

The following table describes the stream spec in more detail:

Entry Meaning

Stream

The Stream field is unique and specifies the depot path where the stream files live. All streams in a single stream depot must have the same number of forward slashes in their name; your administrator specifies this number in the StreamDepth field of the stream depot spec. If you try to create a stream with a different number of forward slashes than those specified in the StreamDepth field, you’ll get an error message like the following:

Error in stream specification. Stream streamname does not reflect depot
depth-field streamdepth.

Update

The date the stream specification was last changed.

Access

The date the specification was originally created.

Owner

The user or group who has specific and unique permissions to access to this stream.

Name

An alternate name of the stream, for use in display outputs. Defaults to the streamname portion of the stream path.

Parent

The parent of this stream. Can be none if the stream type is mainline, otherwise must be set to an existing stream identifier, of the form //depotname/streamname.

Type

Type of stream provides clues for commands run between stream and parent. The five types include mainline, release, development (default), virtual and task.

Description

A short description of the stream (optional).

Options

Stream Options: allsubmit/ownersubmit[un]locked [no]toparent[no]fromparent mergedown/mergeany

Paths

Identify paths in the stream and how they are to be generated in resulting workspace views of this stream. Path types are share/isolate/import/import+/exclude, which are discussed further in Stream paths. p4d uses the Paths entry to generate a workspace view. See Configure workspace views.

Note

Files don’t actually have to be branched to appear in a stream. Instead, they can be imported from the parent stream or from other streams in the system.

Remapped

Remap a stream path in the resulting workspace view.

Ignored

Ignore a stream path in the resulting workspace view. Note that Perforce recommends that you use p4 ignore in lieu of this entry, to accomplish the same thing.