1

如何防止开发人员将更改提交到 CVS 中的特定分支?

最近,一位开发人员将代码提交到主分支,让我有很多回滚工作;-(我怎样才能防止这种情况发生?

4

3 回答 3

1

可能不是这样,但如果您在服务器上运行 CVSNT,您可以简单地使用该cvs chacl命令。有关详细信息,请参阅http://cvsnt.org/manual/html/chacl.html。我有一段时间没有使用 TortoiseCVS,但我想那里甚至可能有一个 GUI 选项(你的服务器仍然必须是 CVSNT 才能真正工作)。

请注意,TortoiseCVS 只是 CVSNT 客户端的图形前端。如果您提供了有关服务器的一些信息,您的问题将更容易回答。

于 2009-02-08T00:18:17.777 回答
1

将此用户对该特定分支的访问权限更改为只读。

老实说,我没有头绪。但这可能会有所帮助:CVS 访问控制列表扩展补丁

于 2009-01-20T17:06:19.500 回答
1

这种方法对我有用:-

1) 创建一个 shell 脚本,根据参数检查提交的分支。为方便起见,我将它存储在 CVSROOT 中,但它可以位于 CVS 服务器上的任何位置。

#!/bin/bash

if [ -f CVS/Tag ]
then
  TAG=`cat CVS/Tag`
else
  TAG=THEAD
fi

if [ "$TAG" == "T$1" ]
then
  echo Cannot commit to $1
  exit 1
else
  echo Commit ok
fi
exit 0

然后修改 commitinfo 文件以针对特定分支运行此脚本:-

ALL /cvs/repos/CVSROOT/checkbranch.sh YOUR-BRANCH-NAME-HERE

这将导致脚本为所有签入运行。它将分支名称作为参数传递。该脚本会将参数与正在签入的代码的分支进行比较,如果它们匹配,则会抛出错误。如果要锁定多个分支,则在 commitinfo 中添加多行。

显然,如果开发人员真的想提交某些东西,他们可以破解 commitinfo 文件,但它可以防止错误,而不是故意尝试破坏。

于 2010-09-09T09:00:44.297 回答