我试图解决的问题是开发人员在没有经过适当渠道的情况下更改文件。开发人员应该能够自己进行更改,但只有在他的工作被批准之后,因为代码在许多项目中使用
我发现这个链接也描述了我的问题:http://www.p4ideax.com/ideas/694/temporary-permissions
一种方法是只有架构师可以访问文件,然后授予开发人员临时访问权限。也许该权限可以链接到一个特定的工作。唯一的方法,我可以看到如何做到这一点是通过添加的文件,人应该能够改变到一个新的领域的工作模板(由架构师完成)。然后有一个服务器应用程序动态调用p4保护和管理权限表。然后,当作业关闭时,该权限被撤销。服务器端应用程序可能是bug跟踪软件。
有没有更简单的方法甚至第三方软件可以解决这个问题?
我知道另一种解决方法是将这些敏感文件放在分支中,然后只允许架构师允许合并到该分支中。
任何建议都会有帮助
这当然可以通过预提交钩子来完成。在Perforce Depot就有这样的例子。
我的想法是拒绝提交仓库中没有"批准列表"上的工作的文件。您可以通过多种方式创建已批准的列表,尽管一种简单的方法(如果您正在全局使用Perforce)是将作业列表放入存储库控制下的文件中,然后使该列表仅对架构师可用。
预提交触发器基本上需要:—如果提交的文件不在保护树中,则允许提交-从仓库获取文件的r/o副本-从提交中获取工作列表-根据列表执行任务-如果作业在列表中,让提交发生-用适当的错误消息