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
相关推荐
玖釉-2 小时前
LeetCode Hot 100 知识点总结与算法指南
c++·windows·算法·leetcode
stanleyrain2 小时前
linux上无感操作Windows上的文件夹
linux·运维·windows
一个人旅程~4 小时前
MacBook Pro安装Win11 IoT LTSC 2024的两种方法操作说明
windows·经验分享·macos·电脑
阿昭L5 小时前
Lab 3-1
windows·安全·逆向工程·恶意代码分析
Cheng小攸16 小时前
综合实验2
网络·windows
酿情师18 小时前
Microsoft Visual C++ Build Tools 2026 下载与安装指南(Windows)
c++·windows·microsoft
idolao21 小时前
ChemSketch 10安装教程 Windows版:自定义路径+轻量看图软件指南
windows
李小白杂货铺1 天前
国产电脑/笔记本安装Windows双系统手记
windows·双系统·国产电脑·麒麟os·安装方法·国产电脑windows驱动·国产笔记本
J2虾虾1 天前
Spring AI Alibaba - 记忆管理(Memory)
人工智能·windows·spring
ZnS_oscar1 天前
如何删除自我保护性强的程序
windows