SVN服务端提交日志不能为空,限制文件大小和文件类型(windows)

  1. windows环境下,修改svn的pre-commit hook以实现提交日志不能为空,限制文件大小和文件类型。
  1. 将下列代码复制粘贴进去即可。
bash 复制代码
@echo off
setlocal enabledelayedexpansion
set REPOS=%1
set TXN=%2
rem 限制的文件大小byte
set MAX_SIZE=51200

for /f "delims=" %%a in ('svnlook changed -t %TXN% %REPOS%') do (
    set var=%%a
    for /f %%i in ('svnlook filesize -t %TXN% %REPOS% !var:~4!') do (
        if %%i gtr %MAX_SIZE% (
            set /a size=%%i/1024
            echo 文件大小超出限制! File: !var:~4! Size: !size!KB 1>&2
            goto err_fileSize

        )
    )
)

rem 日志不能为空,至少输入十个字符(几个点就是几个字符)
svnlook log %REPOS% -t %TXN% | findstr ".........." > nul
if %errorlevel% gtr 0 goto err_log

rem 限制文件类型
rem svnlook changed -t "%TXN%" "%REPOS%" | findstr "crf$"
rem if %errorlevel% EQU 0 (goto err_suffix)
rem svnlook changed -t "%TXN%" "%REPOS%" | findstr "d$"
rem if %errorlevel% EQU 0 (goto err_suffix)
rem svnlook changed -t "%TXN%" "%REPOS%" | findstr "o$"
rem if %errorlevel% EQU 0 (goto err_suffix)

exit 0

:err_log
echo 日志过短或为空!(不小于10个字符) 1>&2
exit 1

:err_fileSize
exit 2

:err_suffix
echo 请勿提交受限制的文件类型!(crf,d,o) 1>&2
exit 3
相关推荐
plmm烟酒僧1 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
Jtti3 小时前
Windows系统服务器怎么设置远程连接?详细步骤
运维·服务器·windows
小奥超人4 小时前
PPT文件设置了修改权限,如何取消权?
windows·经验分享·microsoft·ppt·办公技巧
hairenjing112313 小时前
使用 Mac 数据恢复从 iPhoto 图库中恢复照片
windows·stm32·嵌入式硬件·macos·word
九鼎科技-Leo15 小时前
了解 .NET 运行时与 .NET 框架:基础概念与相互关系
windows·c#·.net
九鼎科技-Leo17 小时前
什么是 ASP.NET Core?与 ASP.NET MVC 有什么区别?
windows·后端·c#·asp.net·mvc·.net
黎明晓月21 小时前
Java之字符串分割转换List
java·windows·list
九鼎科技-Leo21 小时前
在 C# 中,ICollection 和 IList 接口有什么区别?
windows·c#·.net
顾辰呀1 天前
实现uniapp-微信小程序 搜索框+上拉加载+下拉刷新
前端·windows
Bunny Chen1 天前
如何缩小PPT演示文稿的大小?
windows·microsoft·powerpoint