svn强制写日志和可以修改历史日志(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 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.cppblog.com/ietj/articles/142904.html

实际上,我在真正用的时候,发现并不行,不是脚本不行,而是放在hook目录这一步不行,放在里面并没有产生预想的功能,后来发现,在SVN的控制台界面,直接右键REPO,属性,点HOOK,编辑,复制代码到编辑框,保存应用即可。

阅读(6) | 评论(0) | 转发(0) |
0

上一篇:container_of 的的的原理

下一篇:没有了

相关热门文章
  • C#读取被进程占用的文件...
  • 栅栏:linux的barrier、java栅...
  • IT男:OPEC决策老百姓看得一头...
  • 城中村只属于历史,它不属于现...
  • 霍雄佑建设美丽乡村 芮欧童装...
  • linux 流媒体
  • 软件推荐┊奇迹英语智能记忆 5...
  • 中望CAD 2008专业版破解...
  • Win7上Git安装及配置过程...
  • TestComplete资源列表
  • 如何提高中文域名网站权重呢?...
  • windows有发展前景吗
  • 谁能够帮我解决LINUX 2.6 10...
  • 现在的博客积分不会更新了吗?...
  • shell怎么读取网页内容...
给主人留下些什么吧!~~
评论热议

你可能感兴趣的:(项目管理)