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

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

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

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://xjtudll.cn/Exp/262/

标签: SVN
分享给朋友:

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

51串口通信

51串口通信

大学的时候,练习串口通信整的东东图太大,显示不正常。请直接看原图。upload/2010/1/201001291823133003.jpg演示如图: 左边的单片机:发送  查询方式右边的单片机:接收    中断方式K1:LED1亮;K2:LED2亮;...

Proteus网络标号自动加一

Proteus网络标号自动加一

在原理图界面,按A(切换到英文输入法),弹出如下窗口: 将PROPERTY=VALUE改成net=P0#,那么网络标号就会从P00开始自动加一,如图所示。...

布丁软件引起的桌面闪烁

问题描述: 进入桌面后,屏幕闪烁。 查找到系统日志: 错误应用程序名称: explorer.exe,版本: 6.3.9600.18231,时间戳: 0x56b8c9f1 错误模块名称: PDZipMenu64.dll,版本: 1.4.3.11014,时间戳: 0x5da4349a 异常代码: 0xc...

金蝶K/3BOS取得字段值改变之前的原值

通过GetFieldValue函数只能取得字段改变后的值,但是有时候需要在字段值改变后,取得之前的原值。以下为具体代码: Dim dct As KFO.Dictionary = m.GetDataFldbyKey('FDecimal7', Row) Dim sdOld As Doubl...

MSP430如何得知程序代码的大小

MSP430如何得知程序代码的大小

用过Keil编译C51程序的兄弟们都知道,Keil在编译程序之后,会有一段message提示用户程序占用的RAM和ROM。而用IAR编译MSP430程序的时候,却没有任何关于程序大小的信息。一直以来,我都以为IAR无此功能,后来才发现是编译器设置的问题,编译器配置如下: Tools->Opt...

C# 百分号格式化 保持原数不变

C# 百分号格式化 保持原数不变

C# 格式化数字 百分号 需求: 格式化数值为百分比 但是保持输入的数值不变 也就是不要C# 自带的格式化百分数 因为他会自动*100 再加上百分号 解决方案: % 外面套一层 ‘ ’Code var column = this.gridViewItemDet...

发表评论

访客

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