Search code examples
perforcep4v

Perforce Streams - Importing a stream which imports other streams


When importing a stream, is there a way to have the files from the imported stream's imports pulled into the workspace?

For example:

StreamA

StreamB imports StreamA

StreamC imports StreamB

I would like to know if there is a way for a workspace of StreamC to have the files from StreamC, StreamB and StreamA. From my testing, Perforce will only populate a StreamC workspace with files from StreamC and StreamB. If this is not possible or intentionally not allowed, what is the rationale? Thanks!


Solution

  • It's not possible because an import operates at the depot path level, rather than at the stream level. So if you have:

    import //depot/streamB/...
    

    you're not importing all of the files mapped by streamB, you're only mapping the files in the named depot path.

    There is not presently a way to refer to the files mapped by a stream as a unit -- mostly people "fake it" by using the depot path, but as you've discovered, if the stream uses anything other than the default share ... Path definition, they aren't really the same thing.