目前,我创建一个发布分支后,但在发布之前有一些时间,有时我会打开整个分支进行编辑,然后锁定所有文件,以防止在发布分支的“代码冻结”期间任何人修改任何内容。
有更好的方法吗?使用我的当前方式似乎可能是对锁定功能的不正确使用,是否有更好的方法可以防止某人在不使用分支的情况下检查代码。我考虑过P4保护,但我不是此Perforce实例的管理员,并且处理潜在100多行的保护文件也会变得繁琐。
有什么想法吗?
目前,我创建一个发布分支后,但在发布之前有一些时间,有时我会打开整个分支进行编辑,然后锁定所有文件,以防止在发布分支的“代码冻结”期间任何人修改任何内容。
有更好的方法吗?使用我的当前方式似乎可能是对锁定功能的不正确使用,是否有更好的方法可以防止某人在不使用分支的情况下检查代码。我考虑过P4保护,但我不是此Perforce实例的管理员,并且处理潜在100多行的保护文件也会变得繁琐。
有什么想法吗?
作为一名构建工程师,我经常这样操作。我使用“p4 protect”命令将每个人对代码库的访问权限限制为只读:
super group everyone * -//depot/project/branch/...
read group everyone * //depot/project/branch/...
super user me * //depot/project/branch/...
第一行关闭了所有用户对分支的权限(假设名为“everyone”的组已经正确定义)。
第二行重新为所有人建立读取权限。
最后一行重新将所有权限恢复给我。
write group everyone * -//depot/project/1.0/...
read group everyone * //depot/project/1.0/...
write group 1.0 * //depot/project/1.0/...
这将允许您创建一个名为“1.0”的组,您可以将任何被授权写入权限的用户添加到该组中。
如果您正在使用服务器2008.1,则可以执行此操作。
=write group everyone * -//depot/project/1.0/...
write group 1.0 * //depot/project/1.0/...
p4保护绝对是更好的选择 - 它存在的目的就是这样。我强烈建议您将所有用户分组,并仅在保护表中使用组 - 这样更易于管理。
您可以以任何粒度进行保护,因此不会笨重。还要注意,2008.1服务器版本具有新的保护功能,允许您以稍微不同的方式指定您可以执行的操作。更改说明:
#152278 **
'p4 protect' now allows specification of permission 'rights'.
Previously, 'p4 protect' only allowed using permission levels
which include the specified access (ie 'read') and also all
of its lesser permissions (ie 'read' = 'read' + 'list').
Permission rights make it possible to deny individual rights
without having to re-grant lesser rights. The new
permission rights are '=read', '=branch', '=open',
and '=write'. This functionality was previously undocumented,
and is now fully supported for 2008.1