SVN设置删除权限
svn是很多企业和个人用的版本控制软件,非常方便。通用的权限控制在auth文件中,但是缺点是权限较大,w的权限一旦赋予,相应用户都可以有删除svn文件的权限,但是如果不赋予w权限,又没办法commit,非常纠结。本文就是通过一个钩子脚本,实现用户有新增修改文件之后commit,但是又不可以删除的权限细化控制,只有制定的某些用户可以做删除动作。
编辑 SVN 目录下 hooks下面pre-commit 代码(没有可以新建)
#2018-1-24 delete by zhuqh
REPOS="$1"
TXN="$2"
SVNLOOK=/XX/XX/svnlook # whick svnlook
# Make sure that the log message contains some text.
if [ -z `$SVNLOOK log -t "$TXN" "$REPOS" |grep "[a-zA-Z0-9]"` ];then
echo "please add message!" >&2
exit 1
fi
USER=`$SVNLOOK author -t $TXN $REPOS`
ADMINLIST=user1,user2 #username
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 "no auth!" >&2
exit 1
fi
fi
# All checks passed, so allow the commit.
exit 0
记住编辑完pre-commit要赋权限:
chmod +x post-commit
最新文章
- react+redux教程(七)自定义redux中间件
- html,css命名规范 (转)
- div显示滚动条
- bnuoj 27874 ";Center"; of [p]erimeter midpoints(计算几何)
- MySQL批处理SQL语句
- JavaWeb总结(五)—Cookie
- angular2 Http和websocket
- C#中委托和事件的区别
- Objective-C iOS纯代码布局 一堆代码可以放这里!
- jsp和
- Unity查找子物体的方式-怎么查找GameObject
- [UE4]RPC,远程调用
- PhotoSphereViewer 全景图
- CentOS 7.x 安装 Docker
- javascript unicode与GBK2312(中文)编码转换示例
- Ajax第二天——JQuery的Ajax
- SQLServer 学习相关资料整理【转】
- 感知机PLA算法实现[转载]
- 前端基础(jQuery)
- 【线段树求区间第一个不大于val的值】Lpl and Energy-saving Lamps