-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
需求:
有些文件被莫名删除,导致项目运行不起来,如果删除文件提交时,在提交备注里写清楚删除了那些文件还好点,
不然检查这些东西,很是影响开发效率。
此脚本在 svn Server 4.0.2(windows版本)上测试通过。
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
功能:
强制编写注释才能提交,提交中不允许删除文件操作。
-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@echo off
setlocal
set Repos=%1
set TXN=%2
set MAN=kzj
rem >>>至少10个字符<<<
svnlook log "%Repos%" -t "%TXN%" | findstr ".........." > nul
if %ERRORLEVEL% gtr 0 goto flag_err_empty_note
rem >>>当前用户正在执行delete操作<<<
svnlook changed -t "%TXN%" "%Repos%" | findstr "^D"
if %ERRORLEVEL% gtr 0 goto flag_success
rem >>>当前用户是管理账号kzj<<<
svnlook author -t "%TXN%" "%Repos%" | findstr "%MAN%"
if %ERRORLEVEL% gtr 0 goto flag_err_forbidden_delete
else goto flag_success
:flag_success
echo 操作放行! 1>&2
exit 0
:flag_err_forbidden_delete
echo 删除操作不被允许! 1>&2
exit 1
:flag_err_empty_note
echo 至少10个字符! 1>&2
exit 1