如何阻止开发人员将更改提交到CVS中的特定分支?
最近,一位开发人员将代码提交到主分支,让我做了很多回滚来做; - (我该如何防止这种情况?
答案 0 :(得分:1)
将此特定分支的此用户的访问权限更改为只读。
老实说,我没有线索。但这可能有所帮助:CVS Access Control List Extension Patch
答案 1 :(得分:1)
可能不是这种情况,但如果您在服务器上运行CVSNT,则只需使用cvs chacl
命令即可。有关详细信息,请参阅http://cvsnt.org/manual/html/chacl.html。我有一段时间没有使用TortoiseCVS,但我想在那里甚至可能有一个GUI选项(你的服务器仍然必须是CVSNT才能实际工作)。
请注意,TortoiseCVS只是CVSNT客户端的图形前端。如果您提供了有关服务器的一些信息,您的问题将更容易回答。
答案 2 :(得分: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文件,但它可以防止错误,而不是故意破坏事物。