当前位置:首页 > 技术心得 > 正文内容

SVN强制写日志和修改日志功能

xjtudll14年前 (2013-03-04)技术心得11950

SVN默认是可以不写日志的,也不能修改日志,使用时颇为不便。以下就讲述如何在windows系统下实现强制写日志和修改日志功能。

1、强制用户写日志

在每次提交的时候写明提交的目的是一个很好的习惯,SVN默认没有提供,但是可以通过脚本实现:将下面的代码存为bat文件,放到版本库的hooks目录下即可,当你不写日志提交的话就会报错。

文件名:pre-commit-log.bat

:: begin of pre-commit.bat

:: 阻止空日志信息的版本的提交

@echo off

SETLOCAL

SET REPOS=%1

SET TXN=%2

svnlook log -t "%TXN%" "%REPOS%" | findstr ".........." > nul

if %errorlevel% gtr 0 goto err

exit 0

:err

echo 日志是跟踪版本的重要信息,必须输入,且长度不得小于10个字符。 1>&2

exit 1

:: end of pre-commit.bat

2、允许用户修改自己的日志

历史日志写的不好,希望修改,默认是不允许的。

最简单的方式是创建一个空白的pre-revprop-change.bat文件放到版本库的hooks目录下,但是这种方式不够严格,用户具备了修改所有属性的权利,例如修改作者的权利(可以提交垃圾然后栽赃嫁祸了)。所以要限制用户只能修改日志,所以有了下面的代码,将其存为pre-revprop-change.bat放到版本库的hooks目录下即可。

文件名:pre-revprop-change.bat

rem Only allow log messages to be changed.

if "%4" == "svn:log" exit 0

echo Property '%4' cannot be changed >&2

exit 1

扫描二维码推送至手机访问。

版权声明:本文由鸟的天空发布,如需转载请注明出处。

本文链接:http://www.xjtudll.cn/Exp/262/

标签: SVN
分享给朋友:

“SVN强制写日志和修改日志功能” 的相关文章

C#里面如何判断一个Object是否是某种类型

第一种方法 var isA = oldObject.GetType() == typeof(Dictionary<string, string>) 第二种方法 var isB = oldObject.GetType().FullName.IndexOf("Dictionary&...

Android Studio xml编译error: Apostrophe not preceded by \

Android Studio xml编译error: Apostrophe not preceded by \

问题: Resource Path Location Type error: Apostrophe not preceded by \ (in Search' Titles) strings.xml 原因: 在string.xml中使用了转义字符 解决办法: 在编译出...

谈谈BLE连接参数

在使用BLE过程中,BLE连接参数是一个比较容易忽略的地方,很多人从来不管这些连接参数,结果很容易出现以下几个问题: 1、设备功耗大; 2、与android系统手机或ios系统手机无法连接(尤其是ios系统); 3、连接后,串口使用较低波特率发送数据时,容易出现乱码; 这些问题...

【源单单号】【源单类型】字段,在序时簿表头过滤条件里选不到

问题描述:自定义BOS单据,发布到主控台后,增加的【源单单号】【源单类型】,在过滤条件里选择不到这个字段解决方案:【重要提示】:请先在备份账套,根据相关单据修改下面SQL语句后,执行生效后,再在正式账套执行。--根据单据名称,在ICClassType表里查出需要在过滤界面显示源单类型和源单编号字段的...

Protel99SE高级规则设定

Protel99SE高级规则设定

1、Protel99SE高级间距规则 Protel99SE间距规则是在Rules里面设置的,通常我们只是设置整个PCB的间距,实际上我们可以单独设置各类间距,比如覆铜间距,过孔与过孔间距,焊盘到焊盘间距,焊盘到过孔间距等等。 Design->Rules->Routing->Clea...

K3老单插件控制字段显示

K3老单插件控制字段显示

https://www.cnblogs.com/youzhangcai1/p/10685778.html 【问题描述:】 我想在工业单据的插件中锁定单据头字段,但实现不了? 【解决方法:】 For i = 0 To m_BillTransfer.Head.count - 1 &n...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。