SVN限制message字符个数及格式的实例

发布时间 - 2026-01-11 00:17:52    点击率:

一、编写 pre-commit脚本

------------------------------------
#/bin/bash

REPOS="$1"
TXN="$2"

# Make sure that the log message contains some text.
SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`
MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`
echo $LOGMSG
#check log message more than 15_chars
if [ "$LOGMSG" -le 15 ];
then
#  echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2
  echo -e "[Commit]注释信息不能为空且不少于15个字符! " 1>&2
  exit 1
fi

#if [[ "$MSG" == "["*"]"* ]];
if [[ "$MSG" == "["[A-Z]-[A-Z][0-9][0-9][0-9][0-9][0-9][0-9]-[0-9][0-9]"]"* ]];
then
  exit 0
#  echo -e "[Commit]log message cann't be empty! YOU MUST input more than 20_chars as comment! " 1>&2
else
  echo -e "[Commit]注释信息不要遗漏产品编号,如[W-P170122-08],若无产品编号请以[A-A000000-00]开头填写备注,谢谢! " 1>&2
  exit 1
fi
# All checks passed, so allow the commit.
exit 0
-----------------------------------------

其中SVNLOOK要注意路径,LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep "[a-zA-Z0-9]" | wc -c`这个统计长度。

MSG=`$SVNLOOK log -t "$TXN" "$REPOS"`为日志的内容

二、将编辑好文件放到svn服务器仓库hooks中,Linux下要确保pre-commit可执行的。

三、可以在svn客户端实验了,window下可以乌龟客户端。

以上这篇SVN限制message字符个数及格式的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。


# svn  # message限制字数  # 给大家  # 客户端  # 要注意  # 希望能  # 这篇  # 若无  # 小编  # 请以  # 可执行  # 大家多多  # 为空  # 不少于  # message  # text  # MSG  # wc  # TXN  # log  # LOGMSG  # grep 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: Laravel如何使用Eloquent ORM进行数据库操作?(CRUD示例)  Laravel如何实现一对一模型关联?(Eloquent示例)  HTML5段落标签p和br怎么选_文本排版常用标签对比【解答】  Python文本处理实践_日志清洗解析【指导】  网站制作免费,什么网站能看正片电影?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  Python企业级消息系统教程_KafkaRabbitMQ高并发应用  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  网站建设保证美观性,需要考虑的几点问题!  php485函数参数是什么意思_php485各参数详细说明【介绍】  javascript基于原型链的继承及call和apply函数用法分析  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  ,怎么在广州志愿者网站注册?  Laravel如何使用Telescope进行调试?(安装和使用教程)  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  如何做网站制作流程,*游戏网站怎么搭建?  Laravel怎么为数据库表字段添加索引以优化查询  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  高防服务器租用首荐平台,企业级优惠套餐快速部署  Laravel Fortify是什么,和Jetstream有什么关系  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  潮流网站制作头像软件下载,适合母子的网名有哪些?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  香港服务器部署网站为何提示未备案?  如何批量查询域名的建站时间记录?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  佛山网站制作系统,佛山企业变更地址网上办理步骤?  Internet Explorer官网直接进入 IE浏览器在线体验版网址  Laravel表单请求验证类怎么用_Laravel Form Request分离验证逻辑教程  装修招标网站设计制作流程,装修招标流程?  Swift开发中switch语句值绑定模式  DeepSeek是免费使用的吗 DeepSeek收费模式与Pro版本功能详解  EditPlus 正则表达式 实战(3)  高端智能建站公司优选:品牌定制与SEO优化一站式服务  Laravel如何使用Facades(门面)及其工作原理_Laravel门面模式与底层机制  如何快速重置建站主机并恢复默认配置?  浅析上传头像示例及其注意事项  JS去除重复并统计数量的实现方法  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel如何处理JSON字段_Eloquent原生JSON字段类型操作教程  js实现点击每个li节点,都弹出其文本值及修改  邀请函制作网站有哪些,有没有做年会邀请函的网站啊?在线制作,模板很多的那种?  Windows Hello人脸识别突然无法使用  Python文件流缓冲机制_IO性能解析【教程】  千库网官网入口推荐 千库网设计创意平台入口  如何在建站主机中优化服务器配置?  如何在IIS7中新建站点?详细步骤解析  详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点  Laravel的契約(Contracts)是什么_深入理解Laravel Contracts与依赖倒置