1

我正在创建一个预提交挂钩脚本,它将用户(开发人员)限制为 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帮助'获取更多信息svnlook:E205001:缺少存储库路径参数

如果有人可以帮助这个脚本。谢谢!

4

1 回答 1

0
  1. svnlook cat您只能输出单个文件
  2. 为了获取事务中任何文件的大小,您必须使用另一个子命令:filesize
  3. filesize在每个文件的基础上工作,您必须使用子命令将文件传输到xargs(或它的 Win-replacement)列表中changed
于 2015-02-21T15:55:37.723 回答