Linux中设置SVN删除权限和提交文件的注释

安装在Linux服务器中的SVN,为了安全起见,设置成员没有删除
文件权限,只有指定的管理员才可以删除。

1、找到svn目录中的hooks目录,找到pre-commit.tmpl文件。

2、编辑模式进入文件,加入以下代码:

#删除权限控制
REPOS="$1"
TXN="$2"
SVNLOOK=SVN路径(例如:/usr/bin/svnlook)   #此处路径可以通过which svnlook命令获取
 
# Make sure that the log message contains some text.
if [ -z `$SVNLOOK log -t "$TXN" "$REPOS" |grep "[a-zA-Z0-9]"` ];then
        echo "请输入注释!" >&2
        exit 1
fi
USER=`$SVNLOOK author -t $TXN $REPOS`
ADMINLIST=test1,test2  #设置可以删除文件的SVN成员,多个用逗号隔开
if [ "`echo $ADMINLIST|grep -w $USER|wc -l`" -eq 0 ];then
        if [ `$SVNLOOK changed -t $TXN $REPOS |grep "^D "|wc -l` -gt 0 ];then
    # echo "You Don't have the pemmision of delete!Please contact your administrator!" >&2
        	echo "你没有权限删除,请联系管理员删除!" >&2
                exit 1
        fi
fi
# All checks passed, so allow the commit.
exit 0

3、修改完成后保存退出,并将pre-commit.tmpl文件重新命名为pre-commit(重命名命令:mv A B,含义为将文件名A重命名为B)。

4、给钩子脚本执行权限 chmod 755 pre-commit(不需要重启)。

5、完成。

你可能感兴趣的:(Linux)