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 分钟前
自学C#,要懂得用好对象浏览器
windows·.net
qq_3938282238 分钟前
办公文档批量打印器 Word、PPT、Excel、PDF、图片和文本,它都支持批量打印。
windows·word·powerpoint·excel·软件需求
好名字更能让你们记住我1 小时前
Linux多线程(十二)之【生产者消费者模型】
linux·运维·服务器·jvm·windows·centos
单线程的Daniel1 小时前
Dubbo RPC 序列化问题记录
windows·rpc·dubbo
小毛驴8503 小时前
Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数
windows·分布式·rabbitmq
马里马里奥-10 小时前
在Windows系统部署本地智能问答系统:基于百度云API完整教程
windows·云计算·百度云
曹勖之9 天前
simuilink和ROS2数据联通,Run后一直卡在Initializting
windows·matlab·simulink·ros2
浩浩测试一下10 天前
渗透测试指南(CS&&MSF):Windows 与 Linux 系统中的日志与文件痕迹清理
linux·运维·windows·安全·web安全·网络安全·系统安全
驱动小百科10 天前
如何在Windows上安装.NET Framework 详细教程分享
windows·.net·.net framework·.net安装·.net下载
斯密码赛我是美女10 天前
周报报报报
windows