Permissions 仅允许集成到Performce中的分支中

Permissions 仅允许集成到Performce中的分支中,permissions,perforce,Permissions,Perforce,是否可以只允许合并到分支中,而不允许在perforce中直接签入 我试图做的一个非常简单的观点是,如果我们有两个分支,Dev和Release,我希望允许开发人员直接将更改签入Dev,但只从Dev合并到Release,从而避免直接在Release分支上进行更改。绝对正确 您只需编辑权限表即可限制对发布流的访问 我将始终建议您按组而不是按个人管理权限…否则维护权限将是一场噩梦。因此,让我们假设您有一个名为developer的组,您希望他们写入开发流并能够读取发布流 您的表条目看起来像这样 write

是否可以只允许合并到分支中,而不允许在perforce中直接签入

我试图做的一个非常简单的观点是,如果我们有两个分支,Dev和Release,我希望允许开发人员直接将更改签入Dev,但只从Dev合并到Release,从而避免直接在Release分支上进行更改。

绝对正确

您只需编辑权限表即可限制对发布流的访问

我将始终建议您按组而不是按个人管理权限…否则维护权限将是一场噩梦。因此,让我们假设您有一个名为developer的组,您希望他们写入开发流并能够读取发布流

您的表条目看起来像这样

write group Developer * //Depot/Dev_Stream/...
read group Developer * //Depot/Rel_Stream/...

现在,由于只有对发布流的读取权限,他们将无法将代码合并或复制到发布流/分支。不过,他们可以将代码合并/复制到开发流程中。

我不久前编写了一个Performce server触发器来解决这个特殊问题。您可以在以下网址找到:

在您的情况下,触发器条目将是:

no_edits change-submit //Depot/Rel_Stream/... "bash noedits.sh %clienthost% %client% %changelist% %serverport%"

谢谢你的回答。我们没有发布管理器,因此开发人员是受信任的,需要将代码合并到发布中。我的问题是,是否允许他们签入并将更改合并到发行版,而不是直接在该分支上进行的文件更改。我不完全确定我所问的是否可行,因为它们可能没有区别,但这样可以避免在发布分支上发生意外更改。您可以做以下两件事之一(至少我想到,可能还有其他选项)编写一个“form in”触发器,以限制向发布流提交更改(合并除外),这将需要某种类型的脚本(我不擅长编写脚本),或者您可以在需要进行合并时简单地授予个人对发布流的写访问权……这就是我的建议,除非合并不断发生。听起来像是一种方式。不幸的是,我们在windows环境中,但我将翻译您的脚本并发回。谢谢