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
相关推荐
朱一头zcy8 小时前
Win11右键菜单如何把“显示更多选项“中的内容改为默认展示出来
windows
FOREVER-Q10 小时前
Windows 下 Docker Desktop 快速入门与镜像管理
运维·服务器·windows·docker·容器
任子菲阳11 小时前
学Java第四十五天——斗地主小游戏创作
java·开发语言·windows
百事牛科技13 小时前
PDF如何设置密码?3种方法保护文件安全
windows·pdf
小龙报14 小时前
《DevC++支持C++11等与其软件分辨率低的解决办法》
c语言·c++·windows·蓝桥杯·pat考试·学习方法·dvc++
6极地诈唬18 小时前
【C#-sqlSugar-sqlite】在Windows从源码编译构建System.Data.SQLite.dll的方法
windows·sqlite·c#
数据的世界0119 小时前
JAVA和C#的语法对比
java·windows·c#
REDcker20 小时前
Cursor Chrome DevTools MCP 配置指南 for Windows
前端·windows·chrome devtools
Wins_calculator1 天前
Ubuntu重新挂载Windows C盘以及如何安全退出外挂硬盘
windows·ubuntu
A10086121211 天前
ShellCrash 安装与配置踩坑与解决日志
windows