Search code examples
perforceperforce-stream

Perforce: how to disable access to the same folder across streams


is it possible to make read only a specific folder across all the streams? If so, can you please tell me how to do it?

I tried something like:

read user * * //Depot/*/Unity/Assets/Scripts/Framework/...

didn't work.


Solution

  • You can, but you have to first be sure that no OTHER permission levels are granted to that path because protect will allow the highest granted permission.

    So e.g. you have the standard protect table:

    write user * * //...
    super user gweiss * //...
    

    Even if you subsequently add:

    read user * * //Depot/*/Unity/Assets/Scripts/Framework/...
    

    The write user line grants write permission to that folder. You can get around this, by first adding a line to remove ALL permissions for the path in question:

    read user * * -//Depot/*/Unity/Assets/Scripts/Framework/...
    read user * * //Depot/*/Unity/Assets/Scripts/Framework/...
    

    Note that if you have a '-' for the path, it doesn't matter what permission level you have in the first column of the protect line. It'll remove ALL permissions. Then in the next line, you've granted back read access, so users will once again have read access to that path but no other permission.