svn 邮件通知及LOG处理

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
*自动发邮件脚本
配置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 [email]windy@xxx.com[/email] --handler "HTML::ColorDiff" --with-diff --smtp mail.xxx.com --subject-prefix '[Windy SVN]' 

//--to  [email]windy@xxx.com[/email] 为要通知的邮件地址,我们一般会做个邮件组,这个组内包含了这个项目的所有人,--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


本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/64058,如需转载请自行联系原作者
相关实践学习
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
【涂鸦即艺术】基于云应用开发平台CAP部署AI实时生图绘板
相关文章
SVN 提交代码后面如何修改日志信息
SVN 提交代码后面如何修改日志信息
1749 0
|
Linux
SVN统计一段时间的日志
SVN统计一段时间的日志
169 0
|
数据安全/隐私保护 C++ 开发工具
利用svn log命令实现的资源版本更新
无论页游或是手游都需要经常进行更新,而每一次更新几乎都是一部血泪吏。这里重点介绍一下前端资源打包的简化操作。目前2D手游主流都采用了cocos2d-x 绑lua的做法,因为lua相当于一种资源可以进行动态更新。
916 0
|
Android开发 开发工具 IDE
Eclipse SVN (Subclipse的更新日志)、版本集合(1.10.0起)、更新、安装方法!
<p><span style="font-family:Microsoft YaHei; font-size:18px"><span style="line-height:20px">Eclipse是一个优秀的开源IDE,目前支持C/C++、JAVA、JS、PHP等语言。</span><br></span></p> <p><span style="line-height:20px"><s
1813 0
|
Windows 项目管理
修改SVN中的Log信息
        版本和源代码控制已经是项目管理中比不可少的一部分了,在当前的项目由于不同的目的是SVN和CVS并用。由于SVN的较为频繁,所以难免会出现提交时Log信息不准确的问题,这时就需要修改以后的Log信息。
919 0
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
3630 31
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
7月前
|
监控 容灾 算法
阿里云 SLS 多云日志接入最佳实践:链路、成本与高可用性优化
本文探讨了如何高效、经济且可靠地将海外应用与基础设施日志统一采集至阿里云日志服务(SLS),解决全球化业务扩展中的关键挑战。重点介绍了高性能日志采集Agent(iLogtail/LoongCollector)在海外场景的应用,推荐使用LoongCollector以获得更优的稳定性和网络容错能力。同时分析了多种网络接入方案,包括公网直连、全球加速优化、阿里云内网及专线/CEN/VPN接入等,并提供了成本优化策略和多目标发送配置指导,帮助企业构建稳定、低成本、高可用的全球日志系统。
805 54
|
12月前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
341 9