没有合适的资源?快使用搜索试试~ 我知道了~
svn强制注释for linux和Windows
3 下载量 158 浏览量
2021-01-20
14:52:52
上传
评论
收藏 52KB PDF 举报
温馨提示
试读
2页
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范。有的公司要求每次提交修改时都写上bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢? 利用svn的pre-commit钩子可简单实现此要求。 进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl。 编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2) 1、Linux系统 方法1: 将: $SVNLOOK log -t $TXN $REPOS | grep [a-zA-Z0-9]
资源详情
资源评论
资源推荐
svn强制注释强制注释for linux和和Windows
不少开发员提交修改的时候都不写注释,导致查看历史时很费劲,也不太符合规范。有的公司要求每次提交修改时都写上
bug号或者任务描述,那么如何在工具上防止开发员们不写注释呢?
利用svn的pre-commit钩子可简单实现此要求。
进入仓库project1/hooks目录,找到pre-commit.tmpl文件,重命名,去掉后缀.tmpl。
编辑pre-commit文件:(Linux系统和windows系统脚本内容见1和2)
1、Linux系统
方法1:
将:
$SVNLOOK log -t "$TXN" "$REPOS" |
grep "[a-zA-Z0-9]" > /dev/null || exit 1
commit-access-control.pl "$REPOS" "$TXN" commit-access-control.cfg || exit 1
这三行注释掉(前面加#符号),
在此位置添加如下几行:
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
if [ "$LOGMSG" -lt 5 ];#要求注释不能少于5个字符,您可自定义
then
echo -e "
Log message cann't be empty! you must input more than 5 chars as comment!." 1>&2
exit 1
fi
保存,退出。
给pre-commit添加可执行权限:
chmod +x pre-commit
配置结束,可以使用了。
方法2:
这两天把项目的开发机迁移到了linux环境,用python重写了原来的svn hook,保存为pre-commit放到svn的hooks目录
下,chmod +x pre-commit加上执行权限即可。windows下写SVN钩子比较麻烦,只能是批处理或者exe,linux下随便用什么
脚本语言写都可以,只要加上可执行权限行了。
#! /usr/bin/env python # -*- coding: utf-8 -*- """ SVN提交前检查钩子 功能: 1、强制填写提交注释,内容10字节以上 2、强制
注释格式为:xxx:xxx 3、提交文件检查,过滤不允许提交的文件 作者: 李思杰 <lsj86@qq.com> <2012/04/28> """ import sys
import os import re def main(argv): (repos, txn) = argv badlist = (".*config.php$", ".*/php/cache", ".*test",
"config.js$","^.*.db$") message = "".join(os.popen("/usr/bin/svnlook log '%s' -t '%s'" % (repos, txn)).readlines()).strip() if
len(message) < 10: sys.stderr.write("请输入本次提交的修改内容,10字节以上。"); sys.exit(1) if message.find(':') < 1:
sys.stderr.write("请按规范填写注释,格式为:功能名: 修改说明。"); sys.exit(1) changelist = os.popen("/usr/bin/svnlook
changed '%s' -t '%s'" % (repos, txn)).readlines() for line in changelist: for pattern in badlist: if re.search(pattern, line):
sys.stderr.write("请不要把 %s 加入版本库。" % line[1:].strip()); sys.exit(1) sys.exit(0) if __name__ == "__main__":
main(sys.argv[1:])
2、windows强制注释脚本
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem 保证输入8个字符
svnlook log %REPOS% -t %TXN% | findstr "…….." > nul
if %errorlevel% gtr 0 goto :err_action
rem 过滤空格字符
svnlook log %REPOS% -t %TXN% | findstr /ic:" " > nul
if %errorlevel% gtr 0 goto :success
:err_action
echo 你本次版本提交未填写任何变更的日志说明信息. >&2
echo 请补充日志说明信息后再提交代码,例如:功能说明等. >&2
weixin_38713099
- 粉丝: 4
- 资源: 906
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- STM8L101F3P6单片机+CC1100模块433M遥控器设计硬件(原理图+PCB)工程文件.zip
- 上传下载铁人下载系统 Liuxing 1.0-liuxing1.0.rar
- 南京邮电大学数学实验实力雄厚,凭借其优秀的师资力量、丰富的实践教学资源和卓越的科研成果,成为国内一流的数学实验教学和科研基地
- 【火爆朋友圈的今天吃什么源码 v1.0】随机的为用户带来每一天的用餐选择和推荐.rar
- MPU6050中文版数据手册
- 上传下载手机电影下载-mobiledy.rar
- 响应式旅游网站源码下载 马尔代夫旅游网站.rar
- CMS小涴熊漫画连载系统漫画网站源码 带采集API.rar
- 福袋点点.apk
- 基于STM32的电子秤采用0.96寸OLED显示UI界面源码.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0