当前位置:首页 > 开发 > IT生活 > 正文

Svn修改日志的方法

发表于: 2014-05-07   作者:cuiyadll   来源:转载   浏览次数:
SVN
摘要: 1。强制写日志 在每次提交的时候写明提交的目的是一个很好的习惯,Subversion默认没有提供,但是可以通过钩子实现:将下面的代码存为放到版本库的hooks目录下即可,当你不写日志提交的话就会报告错误。 文件名:pre-commit-log.bat @echo off setlocal set REPOS=%1 set TXN=%2 rem check that logmessag
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 1

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 TSVN

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 OK

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

:OK
endlocal
exit 0







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



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



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

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日志的钩子脚本:

Svn修改日志的方法

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
在使用svn的时候有时候svn的权限没有申请下来先用着别人的svn账号,然后点了自动登陆,之后就一直要
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
项目开发中有可能要修改SVN的IP地址,entries文件里面包含svn服务器的地址信息。每个文件夹都会产生
需求:由原来的每组50M增加到100M 1、查看现在有日志组信息脚本: SELECT v$logfile.member, v$logf
<!----><o:p></o:p> 使用SVN已经一年多的时间,自从接触到这个轻型、敏捷而又不
1 svn locked某个目录-无法进行更新 产生这种情况大多是因为上次svn命令执行失败且被锁定了。如果cl
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号