Is it possible to allow merging only in a branch and there are no direct checks?
A very simplified view of what I'm trying to do is that if we have two branches, Dev and Release, I would like the developers to be able to check the changes directly in Dev, but only merged with Release from Dev, therefore avoiding making changes directly to the release branch.
A few years ago, I wrote a Perforce trigger to solve this particular problem. You can find it at: https://swarm.workshop.perforce.com/files/guest/matt_attaway/bash-scripts/noedits.sh
In your case, the trigger will look like this:
no_edits change-submit //Depot/Rel_Stream/... "bash noedits.sh %clienthost% %client% %changelist% %serverport%"
.
, Release.
, ... , . , , , Dev Release Stream.
write group Developer * //Depot/Dev_Stream/... read group Developer * //Depot/Rel_Stream/...
, , /. / , .