svnlook cat :: 将提交大小限制为 10MB 的批处理脚本
svnlook cat :: batch script to limit the commit size to 10MB
我正在努力创建一个预提交挂钩脚本,它将限制用户(开发人员)提交 10MB。所以这将有助于减少存储库的大小。下面是使用 subversion 1.8.
在 windows 服务器上需要 运行 的脚本
@echo off
setlocal
@CD C:\Progra~2\VISUAL~1\bin
Set REPOS=%1
Set TXN=%2
Set MAX_SIZE=10485760
svnlook cat %REPOS% -t %TXN% | Set size=%%~ZA
If %%size%% GEQ %%MAX_SIZE%% (goto err) else exit 0
:err echo. 1>&2
echo Your commit has been blocked because your commit size is greater than 10MB 1>&2
echo Please reduce your commit file size to below 10MB and try again 1>&2
echo Thanks 1>&2
exit 1
获取错误是
提交失败(详情如下):
提交被预提交挂钩(退出代码 1)阻止并输出:
svnlook:E205001:尝试 'svnlook help' 获取更多信息
svnlook:E205001:缺少存储库路径参数
如果有人可以帮助这个脚本。谢谢!
- 使用
svnlook cat
您可以只输出单个文件
- 为了获取事务中任何文件的大小,您必须使用另一个子命令:
filesize
filesize
在每个文件的基础上工作,您必须通过 changed
子命令 [=19= 管道进入 xargs
(或它的 Win 替换)事务中的文件列表]
我正在努力创建一个预提交挂钩脚本,它将限制用户(开发人员)提交 10MB。所以这将有助于减少存储库的大小。下面是使用 subversion 1.8.
在 windows 服务器上需要 运行 的脚本@echo off
setlocal
@CD C:\Progra~2\VISUAL~1\bin
Set REPOS=%1
Set TXN=%2
Set MAX_SIZE=10485760
svnlook cat %REPOS% -t %TXN% | Set size=%%~ZA
If %%size%% GEQ %%MAX_SIZE%% (goto err) else exit 0
:err echo. 1>&2
echo Your commit has been blocked because your commit size is greater than 10MB 1>&2
echo Please reduce your commit file size to below 10MB and try again 1>&2
echo Thanks 1>&2
exit 1
获取错误是 提交失败(详情如下): 提交被预提交挂钩(退出代码 1)阻止并输出: svnlook:E205001:尝试 'svnlook help' 获取更多信息 svnlook:E205001:缺少存储库路径参数
如果有人可以帮助这个脚本。谢谢!
- 使用
svnlook cat
您可以只输出单个文件 - 为了获取事务中任何文件的大小,您必须使用另一个子命令:
filesize
filesize
在每个文件的基础上工作,您必须通过changed
子命令 [=19= 管道进入xargs
(或它的 Win 替换)事务中的文件列表]