Linux SVN提交日志校验

这篇具有很好参考价值的文章主要介绍了Linux SVN提交日志校验。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

#!/bin/bash
export LANG="en_US.UTF-8" #确保中文日志显示正常,便于统计日志
REPOS="$1"
TXN="$2"
#限制日志长度
LENGTH=20
#exit 0

SVNLOOK="/usr/bin/svnlook"
BLACKLIST=".* *.o *.chw *.pck ~\$*"

function error_exit(){
echo -e "1.Not allowed empty log " >&2
echo -e "2.Logs must be greater than ${LENGTH} characters or chinese" >&2
exit 1
}

function blacklist_exit(){
if [ ! -z "${INBLACKLIST}" ] ;then
echo -e "some files in the blacklist , please cheack again !" >&2
echo -e "blacklist:\n ${BLACKLIST}" >&2
exit 1
fi
}

# 获取字符数量(包括换行符)
TEMP_LENGTH=`${SVNLOOK} log -t "${TXN}" "${REPOS}"|sed 's/\s*$//g'|sed 's/^\s*//g'| wc --chars`
# 统计换行符
TEMP_LINE=`${SVNLOOK} log -t "${TXN}" "${REPOS}"| wc --lines`
# 真实字符数量
LOGMSG_LENGTH=`expr ${TEMP_LENGTH} - ${TEMP_LINE}`

################################## 检查变更文件 ################################## 
changed_files=$(${SVNLOOK} changed -t "${TXN}" "${REPOS}")

# 文件黑名单过滤 
# 过滤文件夹
#INBLACKLIST=$(echo ${changed_files} | grep "/target/"`" #文件夹前后必须有/,否则匹配会有误伤
#blacklist_exit

################################## 过滤prefix ################################## 
# 过滤所有以点开头的文件和文件夹
INBLACKLIST=$(echo ${changed_files} | grep "/\.")
blacklist_exit
# 过滤所有office的临时文件
INBLACKLIST=$(echo ${changed_files} | grep "~\\$")
blacklist_exit

################################## 过滤suffix ################################## 
# 过滤文件尾缀,.chw, .o, .pck

INBLACKLIST=$(echo ${changed_files} | grep "\.chw$")
blacklist_exit
INBLACKLIST=$(echo ${changed_files} | grep "\.o$")
blacklist_exit
INBLACKLIST=$(echo ${changed_files} | grep "\.pck$")
blacklist_exit

# 判断日志长度是否满足要求
if [ "${LOGMSG_LENGTH}" -lt ${LENGTH} ];then
error_exit
fi

exit 0

Linux SVN提交日志校验文章来源地址https://www.toymoban.com/news/detail-501751.html

到了这里,关于Linux SVN提交日志校验的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 确保使用正确的CSI提交HW问题

    最近有用户一体机有问题,需要技术支持,首先找到我这边,其实就是一个简单的坏盘类问题,换盘即可。 在保期间,要求客户提交一个SR给后台,但是客户提交后,就一直被要求提供HW的CSI号: xxx: Can I have the HW CSI? 最后SR被后台关闭,并被转到CT,还是要求客户通过HW的CS

    2024年02月08日
    浏览(45)
  • SVN限制Message提交的格式

    限制Message提交的格式必须为以下格式 [Version] [Description] [TPA] [Doors] pre-commit 这个文件需要加读写权限!!!否则不生效

    2024年02月14日
    浏览(38)
  • MDK自动生成带校验带SVN版本号的升级文件

    确保SVN安装了命令行工具,默认安装时不会安装命令行工具 编写一个模板头文件 svn_version.temp.h, 版本号格式为 1_0_0_SVN版本号 编写get_svn_version.bat 脚本,利用模板头文件生成带版本号的头文件 MDK 编译器执行该脚本 将版本号添加到app的中断向量表中(或者自己添加到固定位置

    2024年02月07日
    浏览(35)
  • SVN迁移至GitLab,并附带历史提交记录

    Git在代码管理方面比SVN有更多的优势,如代码审查,分支和合并。 一、准备工作 安装Git环境,配置本地git账户信息: 可通过命令git config -l 查看结果 SVN的用户名和密码(同步代码时需要输入) svn账号与git账号映射,新建文件 userinfo.txt,左侧是SVN的账号,右侧是git账号信息

    2024年02月03日
    浏览(33)
  • 解决SVN或GIT忽略提交文件的问题

    使用IDEA 的SVN插件提交文件是总是会提交一些不需要提交的文件; 我们可以通过一些简单设置忽略这些文件。 在项目根目录新建文本文件,修改后缀为.gitignore 文件中添加内容 鼠标空白地方右键点击,选择TortoiseSVN设置常规设置全局忽略样式 添加如下过滤条件,已有的就不添

    2024年02月06日
    浏览(42)
  • git与svn之间项目迁移,并保存提交记录

    参考链接 下面附上我个人测试过的可行步骤 一、git迁移至svn 1、打开Git Bash然后进入需要迁移的Git库目录下。 2、 查看svn库日志便会发现所有git版本和提交信息都已经迁移至svn 3、 可能遇到的问题 可能会出现如下提示框,输入t点击ok即可。 如果你不小心写错了init的地址,想

    2024年02月04日
    浏览(36)
  • 在IDEA中如何查看svn版本提交历史记录

    ①拉取远程库代码 ②提交本地代码到远程 ③查看历史记录 ④回退代码

    2024年02月12日
    浏览(38)
  • git或svn提交消息时,fix、feat等命令的含义

    在git或svn提交消息时,可以使用特定字符来表示特定的功能,这些字符的使用可以提高提交描述的可读性和易用性。 具体来说,这些命令的含义如下: fix : 该提交用于修复错误或问题。 feat : 该提交用于添加新功能。 docs : 该提交用于更新文档。 style : 该提交用于代码格式化

    2024年02月05日
    浏览(42)
  • 解决IDEA右上角找不到提交SVN或Git小图标,两秒搞定

    解决IDEA右上角找不到提交SVN或git小图标 解决步骤: 1.点击【VCS】-【Enable Version Control Integration…】 2.选择你的版本管理工具“Git”或者“Subversion(SVN)\\\",点击【OK】即可看到提交小图标

    2024年04月09日
    浏览(50)
  • uniapp表单校验和提交

    明显已经校验并提交到服务器,得到数据返回 uniapp完整代码 用到u-view ui框架(推荐,确实好看),链接

    2024年02月16日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包