Version control 性能:在不涉及超级用户访问的情况下控制权限

Version control 性能:在不涉及超级用户访问的情况下控制权限,version-control,perforce,p4v,Version Control,Perforce,P4v,我们在我的公司使用Performance,并且非常依赖它。我需要一些关于以下场景的建议: 我们的仓库结构如下: //depot /product1 /component1 /component2 . . /componentN /*.java /*.xml /product2 /component1 /component2

我们在我的公司使用Performance,并且非常依赖它。我需要一些关于以下场景的建议:

我们的仓库结构如下:

//depot
    /product1
        /component1
        /component2
        .
        .
        /componentN
            /*.java
            /*.xml
    /product2
        /component1
        /component2
        .
        .
        /componentN
            /*.java
            /*.xml
每个产品都有多个组件,每个组件都由java或xml或其他程序文件组成。每个组件都有一个与之关联的经理/所有者

现在,我们已经阻止了每个用户的写入权限,只有在代码审阅后获得经理/所有者的批准后,我们才能打开该用户对任何文件/文件夹的写入权限以进行签入。这个过程变得有点混乱,因为经理/开发人员必须等待perforce admin允许权限(更新perforce的保护表)。此外,我们给他们一个只有24小时的窗口来检查(由于敏捷,我不太了解:),之后我们应该再次阻止该用户的写访问

我想要的是一种机制,在这种机制中,Performce管理员可以将此职责委托给各自的经理/所有者,而无需授予他们超级用户或管理员访问权限,并且在24小时后自动禁用写入权限

有什么建议吗


提前谢谢。

从本质上讲,这是没有办法的

我能想到的最接近的事情是,如果这些组件的主线版本是由一个拥有所有者的组许可的。允许组的所有者在组中添加和删除成员,从而将权限委托给“看门人”,而不是管理员自己


如果您需要进一步澄清,请告诉我。

一个常见的解决方案是构建一个简单的工具,用于读取和写入保护表、组成员身份等,以实现您想要的策略

保护和组数据的格式并不复杂,您可以轻松编写少量文本处理代码,根据需要编写和重新编写这些规范

然后以安全的方式在服务器计算机上安装工具,授予工具更新保护表的权限,并让组件管理员使用该工具管理权限

例如,我通过编写一个小型web应用程序(例如,用Java或Perl编写),将其安装在安全机器上的web服务器上,并让组件管理员通过web界面操作该工具来实现这一点


您的工具只需提供(a)一个简单的组件管理员登录/注销机制(web服务器可能已经为您执行此操作),(b)一个接受用户名和文件夹名称并授予权限的命令,以及(c)一个随后删除该权限的命令(或计时器)。

非常感谢。我明白了。让我进一步探讨这个选项。谢谢你的回复。你的想法很好。我还注意到上面的答案中还有一个信息。我可能会结合这两个想法来设计一个工具。再次感谢您的详细步骤。这对我真的很有帮助。