SVN强制编写注释才能提交,提交中不允许删除文件操作。


-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
需求:

有些文件被莫名删除,导致项目运行不起来,如果删除文件提交时,在提交备注里写清楚删除了那些文件还好点,
不然检查这些东西,很是影响开发效率。

此脚本在 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


-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
 

发布了96 篇原创文章 · 获赞 172 · 访问量 25万+

猜你喜欢

转载自blog.csdn.net/ai_64/article/details/99200663