svn修改已经提交的log_svn log 显示最近几条「建议收藏」

svn修改已经提交的log_svn log 显示最近几条「建议收藏」补写或修改log信息的方法:使用SVN作为版本控制,在执行svncommit的时候,可能一时手快忘记写log,或者log写的有误、不详细等原因,想要补写或者修改log

svn修改已经提交的log_svn log 显示最近几条「建议收藏」

补写或修改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。
1
然后可以执行svn log -r 20进行查看。

错误提示及解决办法:
       当然,不是执行完就一定会成功的,有时会出现如下的错误提示:

svn:Repository has not been enabled to accept revision propchanges;
ask the administrator to create a pre-revprop-change hook
1
2
这是因为在SVN的服务器端没有配置pre-revprop-change hook脚本。此时需要在服务器端的hooks文件下将pre-revprop-change.tmpl文件的后缀去掉,然后修改权限即可:

chmod 777 pre-revprop-change
1
*.tmpl文件是创建SVN时默认生成的hook脚本。但默认是没有使用的,需要去掉后缀。然后对于补写或者修改log,使用默认的脚本即可,如需其他功能,可以打开该文件自行编写修改。
       然而不一定打开hook就有*.tmpl文件。此时需要新建一个脚本,对于Linux系统内容如下:

#!/bin/sh
#Linux
REPOS=”$1″
REV=”$2″
USER=”$3″
PROPNAME=”$4″
ACTION=”$5″

if [ “$ACTION” = “M” -a “$PROPNAME” = “svn:log” ]; then exit 0; fi

echo “Changing revision properties other than svn:log is prohibited” >&2
exit 1

然后保存名为pre-revprop-change,放在hooks文件夹下并修改权限:

chmod 777 pre-revprop-change
 

SVN提交之后补写或改写log信息的方法及错误问题解决

如果不修改权限会提示:

svn:Revprop change blocked by pre-revprop-change hook (exit code 255) with no output.
1
在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” >&2
EXIT 1 

原文链接:https://blog.csdn.net/lc315yuhuofei/article/details/51649217

今天的文章svn修改已经提交的log_svn log 显示最近几条「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/64253.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注