perforce分支的锁定(Perforce branch locking)
通常地在某些milestone的build的时候或者某些branch的生命周期结束了,我们都需要锁定branch来禁止对branch的修改。
可以通过如下的两种方法来锁定perforce branch:
1)权限表(protection table)
通常地我们使用一个group来管理一个branch的权限。例如默认地如下:
write group envision * //dev/envision/esi/...
当 我们需要锁定branch //dev/envision/esi/... 时,可以在p4admin的GUI管理工具中修改protection table的权限行或在最后增加新的一行来lock branch,例如read group envision * //dev/envision/esi/...
也可以在脚本中使用p4 protect来修改权限表, 从而锁定或解锁某个branch。
2)triggers
也 可以使用一个trigger来达到锁定branch的目的。此trigger的执行过程为:当有changelist来的时候,检查所包含的文件是否属于 指定的branch,如果属于要锁定的branch则拒绝提交,从而达到lock branch的目的。所有的要lock的branches可以放到某个txt文件,然后trigger的脚本通过检查此txt来获得那些branches 要lock,当需要lock新的branch,只需要加到此txt中就可以了。
使用trigger方法的缺点的增加了所有的submit的时间。
完!