Perforce permissions for creating stream depots?

1.7k views Asked by At

Is it possible to enable my users to create Perforce stream depots without giving them super access everywhere?

I just upgraded to Perforce Server 2011.1 and I am eager to use the new streams feature.

If I understand correctly, streams have a couple restrictions: 1) streams must be in special stream depots and 2) stream depots contain branches at their top-level.

We currently have a single local depot (called "mylocaldepot") which contains multiple projects. Given the above restrictions and in keeping with the practices shown in Perforce documentation, it would seem that "one stream depot per project" is more sensible. But creating depots requires super access. It would be more convenient if our users could freely create stream depots for their projects themselves. But I don't want to give everyone unrestricted super access everywhere. And I don't want them to accidentally delete our existing local depot.

Is it possible to setup Perforce permissions in such a way that users can be granted only the ability to create stream depots? Perhaps I could use p4 protect and some combination of permission settings like this?

write user * * //...
super user * * //*
super user * * -//mylocaldepot

BTW: I've found the best information on streams to be these two videos: Introduction to Streams and Streams for Codeline Management; and this document: Perforce Streams Adoption Guide

2

There are 2 answers

3
Bryan Pendleton On BEST ANSWER

The super user must create the depot, but ordinary users can then create streams in that depot. You should definitely not give all your users super permission, and you should not need more than one (or, perhaps, a few) stream depot.

0
randy-wandisco On

You could also look into using the Perforce Broker to provide a project creation command. The broker can, behind the scenes, do the necessary steps to create a new stream depot, while not granting super access to the users. (The broker would need to be able to use a super account, of course, but that would be hidden from the users.)