*自动发邮件脚本

配置post-commit文件   //此文件在commit时会运用到这个脚本
# cd /svndata/test/hooks
# cp post-commit.tmpl post-commit
# vi post-commit
在末尾删除原来的,添加上以下参数
REPOS="$1" 
REV="$2"

/usr/bin/svnnotify --repos-path "$1" --revision "$2" --to windy@xxx.com --handler "HTML::ColorDiff" --with-diff --smtp mail.xxx.com --subject-prefix '[Windy SVN]'

//--to windy@xxx.com为要通知的邮件地址,我们一般会做个邮件组,这个组内包含了这个项目的所有人,--smtp mail.xxx.com为你的内部邮件服务器地址,必须使用域名,要内部DNS能够解析到,可能需要在内部DNS服务器上手动添加主机记录,[Windy SVN]必须有SVN字段,否则将收不到邮件,注重格式,此脚本有bugzilla和JIRA系统进行整合的参数。
# chmod a+x post-commit   //添加可执行权限给post-commit

*可修改log脚本
配置pre-revprop-change文件   //此文件在show log中修改log时会运用到这个脚本,得到修改的权限,否则会报错DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent. At least one property change failed; repository is unchanged
# cd /svnroot/test/hooks
# cp pre-revprop-change.tmpl pre-revprop-change
# vi pre-revprop-change
在末尾删除原来的,添加上以下参数
EPOS="$1" 
REV="$2" 
USER="$3" 
PROPNAME="$4"

if [ "$PROPNAME" = "svn:log" ]; then exit 0; fi 
exit 1

# chmod a+x pre-revprop-change   //添加可执行权限给pre-revprop-change

*强制写log脚本
配置pre-commit文件   //此文件在用户每次更新库中都必须要求写log,此文以log最低5个字符为例
# cd /svnroot/test/hooks
# cp pre-commit.tmpl pre-commit
# vi pre-commit
在末尾删除原来的,添加上以下参数
REPOS="$1" 
TXN="$2" 
SVNLOOK=/usr/bin/svnlook 
# check that logmessage contains at least 5 alphanumeric characters 
LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c` 
if [ "$LOGMSG" -lt 5 ]; 
then 
  echo -e "\nEmpty log message not allowed. Commit aborted!" 1>&2 
  exit 1 
fi 
//[ "$LOGMSG" -lt 5 ] -lt 5这个5是至少为5个字符,请注意。
# chmod a+x pre-commit   //添加可执行权限给pre-commit
 echo -e "\nLog message cann't be empty! you must input more than 10 chars as comment! Commit aborted!" 1>&2 

转载于:https://blog.51cto.com/fccwcom/1080753

svn 邮件通知及LOG处理 强制提交log日志相关推荐

  1. svn修改提交路径_使用SVN钩子强制提交日志和限制提交文件类型

    Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能.所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有 ...

  2. svn 覆盖更新_使用SVN钩子强制提交日志和限制提交文件类型

    Subversion本身有很好的扩展性,用户可以通过钩子实现一些自定义的功能.所谓钩子实际上是一种事件机制,当系统执行到某个特殊事件时,会触发我们预定义的动作,这样的特殊事件在Subversion里有 ...

  3. linux svn强制注释,svn强制提交时添加注释

    svn强制提交时添加注释 1.  需求 领导要求开发在提交代码时必须添加注释,经过查资料,实验,然后实现领导的要求. 2.  查看资料 参考svn文档,以及网上博客 通过查看资料,一步一步的实现脚本 ...

  4. 通过设置svn服务端钩子强制提交注释和限制指定类型文件提交

    通过设置svn服务端钩子强制提交注释和限制指定类型文件提交 svn钩子下载链接:强制提交注释和限制指定类型文件提交的svn钩子

  5. 使用SVN钩子强制提交日志和限制提交文件类型

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 作者:朱 ...

  6. Jenkins进阶系列之——01使用email-ext替换Jenkins的默认邮件通知

    1 简述 众所周知,Jenkins默认提供了一个邮件通知,能在构建失败.构建不稳定等状态后发送邮件.但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式.无法定义灵活 ...

  7. 第三章:使用email-ext替换Jenkins的默认邮件通知

    1 简述 众所周知,Jenkins默认提供了一个邮件通知,能在构建失败.构建不稳定等状态后发送邮件.但是它本身有很多局限性,比如它的邮件通知无法提供详细的邮件内容.无法定义发送邮件的格式.无法定义灵活 ...

  8. Jenkins之邮件通知

    完成基于jenkins的持续集成部署后,任务构建执行完成,测试结果需要通知到相关人员.这篇博客,介绍如何在jenkins中配置邮件通知的方法... 一.安装邮件插件 由于Jenkins自带的邮件功能比 ...

  9. nodejs实践录:测试连接性及邮件通知

    本文给出一个与服务器测试连通性的示例,具备邮件通知功能,可以以此为基础添加需要的测试项. 代码功能如下: 测试程序与服务器连接,发送指定报文(由内部指定),服务端收到指定报文,回复testOK,客户端 ...

最新文章

  1. 02、在层级未知情况下通过递归查找子物体
  2. 11岁的孩子能看懂C语言么,10岁小朋友开发的编程语言,给你们看看~
  3. 实战SSM_O2O商铺_29【商品】商品添加之Service层的实现及重构
  4. Java基础day5
  5. 自然语言处理之循环神经网络(五)
  6. oracle awr 数据删除,Oracle AWR 删除历史快照 说明【转自dave偶像大神】
  7. android炫酷叼ui,XUI: 一个简洁而优雅的Android原生UI框架,解放你的双手!
  8. 20155216 Exp6 信息搜集与漏洞扫描
  9. 华为路由交换常见配置
  10. matlab帕累托分布函数,matlab 进行广义的帕累托参数估计
  11. 网络信息系统安全的发展演变
  12. 干货分享:【IT-PMP学堂】PMP 文档与配置管理
  13. linux强制连接蓝牙键盘,Thinkpad 蓝牙键盘 Fn 键处于锁定状态的解决方法
  14. java.net.ConnectException no available server
  15. 清华大学何平:央行数字货币具备许多优势 但不可盲目推进
  16. day02-08 python基础语法
  17. 《Vim实用技巧》笔记
  18. Java设计模式(03) -- 里氏替换原则
  19. Java类和对象的特征
  20. 手机模拟器之争:Genimotion在左,海马玩在右

热门文章

  1. 项目福利政策报名 | 项目启动资金、股权投资、住房购房补贴
  2. NASA科学家联名求撤稿:金星有生命迹象是大乌龙,12阶多项式拟合不靠谱
  3. 电子科大64年来首提Nature封面,邓旭团队为超疏水表面披上「铠甲」
  4. 【跃迁之路】【674天】程序员高效学习方法论探索系列(实验阶段431-2018.12.19)...
  5. Android程序员的技术要求和学习路线
  6. Spring 3 MVC and XML example
  7. 常用的正则表达式分享
  8. GitHub上的编程语言:JavaScript领衔Java次之
  9. 116. Populating Next Right Pointers in Each Node
  10. Python学习笔记4—Python字典元组