SVN提交之后补写或改写log信息的方法及错误问题解决
来源:互联网 发布:java怎么配置环境变量 编辑:程序博客网 时间:2024/05/18 17:25
补写或修改log信息的方法:
使用SVN作为版本控制,在执行svn commit的时候,可能一时手快忘记写log,或者log写的有误、不详细等原因,想要补写或者修改log。此时可以通过执行如下命令来补写或者修改log信息:
svn propset svn:log 'the log you want to modify or add' -r 20 --revprop
现在来解释一下上面的语句,log信息其实是作为svn中的一个属性。每次在提交(commit)的时候,SVN自动将-m 后面的信息作为log属性的值进行添加。因此想要补写或者修改的时候就可以更改这个svn:log属性值就行了。
其中单引号中是要补写或修改的log信息,-r后的数字是版本号。执行完之后会提示:
property 'svn:log' set on repository revision 20。
然后可以执行svn log -r 20进行查看。
错误提示及解决办法:
当然,不是执行完就一定会成功的,有时会出现如下的错误提示:
svn:Repository has not been enabled to accept revision propchanges;ask the administrator to create a pre-revprop-change hook
这是因为在SVN的服务器端没有配置pre-revprop-change hook脚本。此时需要在服务器端的hooks文件下将pre-revprop-change.tmpl文件的后缀去掉,然后修改权限即可:
chmod 777 pre-revprop-change
*.tmpl文件是创建SVN时默认生成的hook脚本。但默认是没有使用的,需要去掉后缀。然后对于补写或者修改log,使用默认的脚本即可,如需其他功能,可以打开该文件自行编写修改。
然而不一定打开hook就有*.tmpl文件。此时需要新建一个脚本,对于Linux系统内容如下:
#!/bin/sh#LinuxREPOS="$1"REV="$2"USER="$3"PROPNAME="$4"ACTION="$5"if [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fiecho "Changing revision properties other than svn:log is prohibited" >&2exit 1
然后保存名为pre-revprop-change,放在hooks文件夹下并修改权限:
chmod 777 pre-revprop-change
如果不修改权限会提示:
svn:Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.
在Windows系统中内容如下:
SET REPOS="%1"SET REV="%2"SET USER="%3"SET PROPNAME="%4"SET ACTION="%5"IF %ACTION% == "M" (IF %PROPNAME% == "svn:log" (EXIT 0))ECHO "Changing revision properties %PROPNAME% is prohibited" >&2EXIT 1
并修改文件名及后缀为pre-revprop-change.bat,然后同样放在hooks目录下。希望能帮助大家,谢谢。
- SVN提交之后补写或改写log信息的方法及错误问题解决
- svn提交不了问题解决方法
- svn防止提交错误文件的方法
- Android 代码proguard混淆之后的错误log查看方法
- 改写CNN网络的一些问题解决方法
- 修改svn的log信息
- eclise svn更新或还原时锁定的问题解决方法
- svn重设日志内容 及 如何修改SVN已提交项目的message log
- 使用svn log命令显示提交日志信息
- SVN强制提交LOG的配置说明
- 如何修改已经提交SVN的log
- SVN修改已提交版本的Log
- SVN修改已提交版本的log
- SVN修改已经提交的LOG日志
- Android ANR介绍及分析ANR log信息的方法
- SVN版本库出现错误之后清除svn方法
- svn 修改log信息
- SVN提交svn通过post commit自动更新不成功的问题解决
- 前端学习_Series2_01.JavaScript_02
- 连接mysql数据库
- 时区日期处理(NSDate, NSCalendar, NSTimeZone)实例详解
- 字符串反转 转换大小写的三种方法
- Android之在window下面开发常用的adb命令(不断更新)
- SVN提交之后补写或改写log信息的方法及错误问题解决
- Hive2 beeline 使用方法
- Mac环境Sublime text2解决中文乱码的问题
- STL空间配置器的union obj
- C++:文件加密(凯撒加密、栅栏加密、异或加密四方加密、Base64加密)
- Struts2源码深入
- USB协通讯议--深入理解
- Android开发如何进阶?(转载)
- 算法学习与代码实现6——快速排序