SVN容许修改日志

1。强制写日志
在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,可是能够经过钩子实现:将下面的代码存为放到版本库的hooks目录下便可,当你不写日志提交的话就会报告错误。
文件名:pre-commit-log.bat
@echo off
setlocal
set REPOS=%1
set TXN=%2
rem check that logmessage contains at least 5 characters
svnlook log "%REPOS%" -t "%TXN%" | findstr ".........." > nul
if %errorlevel% gtr 0 goto err
exit 0
:err
echo Empty log message not allowed. Commit aborted! 1>&2
exit 1html

2。能够修改历史日志
历史上的日志写的很差,咱们但愿修改,默认对Subversion是不容许的,而且会提示须要建立pre-revprop-change钩子。最简单的方式是建立一个空白的pre-revprop-change.bat文件放到版本库的hooks目录下,可是这种方式不够严格,用户具有了修改全部属性的权利,例如修改做者的权利(能够提交垃圾而后栽赃嫁祸了)。因此要限制用户只能修改日志,因此有了下面的代码,将其存为pre-revprop-change.bat放到版本库的hooks目录下便可。
文件名:pre-revprop-change.bat
REM SVN pre-revprop-change hook allows edit of logmessages from TSVNsvn

setlocal
set REPOS=%1
set REV=%2
set USER=%3
set PROPNAME=%4
set ACTION=%5日志

if not "%ACTION%"=="M" goto refuse
if not "%PROPNAME%"=="svn:log" goto refuse
goto OKhtm

:refuse
echo Cann't set %PROPNAME%/%ACTION%, only svn:log is allowed 1>&2
endlocal
exit 1blog

:OK
endlocal
exit 0rem

 

 

 

摘自:http://www.cnblogs.com/greatqn/articles/1272769.htmlget

 

版本库生成后,hooks目录下就存在一些钩子脚本的模板,用户能够做为参考。把pre-revprop-change.tmpl复制为pre-revprop-change.bat,再修改里面的脚本,钩子就设置好了。it

 

for /f "usebackq" %%k in (`svnlook author %1 -r%2`) do @set var=%%kio

if "%3" == "%var%" goto test
if "%3" == "li"    goto test
exit 1钩子

:test
if "%4" == "svn:log" exit 0
echo Property '%4' cannot be changed >&2
exit 1


 

只容许用户修改本身的svn日志的钩子脚本

相关文章
相关标签/搜索