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
相关推荐
人工智能训练28 分钟前
openEuler系统中home文件夹下huawei、HwHiAiUser、lost+found 文件夹的区别和作用
linux·运维·服务器·人工智能·windows·华为·openeuler
先生沉默先28 分钟前
windows顺序程序启动器
windows
Adellle29 分钟前
windows安装ES(8.14.x版本)
大数据·windows·elasticsearch
UNbuff_013 小时前
重复文件查找工具(AllDup)
windows·开源软件
Irene199114 小时前
VSCode 内置终端 和 系统自带终端 的主要区别
windows·vscode·终端
寒山李白15 小时前
关于Python版本与supervisor版本的兼容性
windows·python·supervisord
私人珍藏库16 小时前
[Windows] 局域网文件共享工具 一键共享文件夹到网页
windows·pc·工具·局域网·软件·共享
阿富软件园16 小时前
免费超大红外码库+离线使用,遥控精灵 是小米万能遥控器的升级版
windows·电脑·开源软件
lkbhua莱克瓦2416 小时前
IO流练习(修改文件中的数据)
java·windows·学习方法·io流·java练习题·io流练习
J小黄18 小时前
解决IRQL_NOT_LESS_OR_EQUAL蓝屏,IMAGE_NAME: ntkrnlmp.exe
windows