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

SVN修改Log信息

xjtudll1年前 (2025-02-22)技术心得6760

SVN默认是不能修改Log的,强行修改会报错:

Repository has not been enabled to accept revision propchanges,ask the administrator to create a pre-revprop-change hook

217a8eaf-7f1d-436c-8ede-fab6a055448d

如果需要修改Log,则需要配置pre-revprop-change hook脚本

一、Linux

对于Linux客户端(含群晖),需要将服务器端的hooks文件夹pre-revprop-change.tmpl文件的后缀去掉

即pre-revprop-change.tmpl改为pre-revprop-change

如果没有这个文件的话,自己建一个,内容如下:

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

3486ef6d-ef82-426e-8692-0ec23cc7637b

然后修改权限即可(需要先切换到hooks目录):chmod 777 pre-revprop-change

不过有时候文件格式不对,也会不起作用的(若没修改权限,有可能也会提示这个)

Revprop change blocked by prop-revprop-change hook (exit code 255) with no output

7d4dd079-00b7-48f0-aa15-7359b9491aba

此时,如果强行执行一下这个pre-revprop-change文件(ssh -t admin@201.201.201.168  '/volume1/svn/WiFi_Clock/hooks/pre-revprop-change'),就会提示:

unexpected end of file

5a19fdad-34b2-4ede-8ebd-aad3d66cc5b1

需要将文本从Windows格式,改为Linux格式

Windows下可以使用Notepad++修改

编辑->文档格式转换->转为Unix

1e51cf02-e0ab-414b-8ff3-0a31ab278009

参考资料:

https://blog.csdn.net/lc315yuhuofei/article/details/51649217

https://blog.csdn.net/iteye_17942/article/details/81759616

二、Windows

将pre-revprop-change.bat拷贝到hooks目录中,这个批处理文件内容如下:

rem Only allow log messages to be changed.

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

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

exit 1

如果用的是Visual SVN Server,也可以直接在前台界面里修改,具体如下:

找到具体项目的SVN目录,右键,属性,修改Hooks脚本,填入上述内容

5a4ed63b-1539-49ba-93f5-384b872e7cc9

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

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

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

标签: SVN
分享给朋友:

“SVN修改Log信息” 的相关文章

可变电容器的基础知识与应用

可变电容器的基础知识与应用

一. 概述 可变电容器,简称"可变电容、可调电容"(英文:Variable / adjustable Capacitor),是一种电容量可以在一定范围内连续调节、可变的电容器。 其原理,一般是通过改变极片间相对的有效面积或片间距离,它的电容量就相应地变化。可变电容,一般在无线电(...

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

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

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

CrystalDecisions.Windows.Forms.CrystalReportViewer.DisplayGroupTree”已过时

问题:早期工程升级到VS2010 提示: CrystalDecisions.Windows.Forms.CrystalReportViewer.DisplayGroupTree”已过时 解决办法: this.crystalReportViewer1.DisplayGroupTree =...

android禁止屏幕自动锁屏(或背光自动灭)

  Android开发过程中,一些程序在运行时,不希望手机自动锁屏,即保持系统的背景灯常亮,以防止程序执行时出现异常,实现起来很简单,只需要在创建Activity时,在onCreate()方法中,加入如下语句即可。   getWindow().addFlags(WindowMan...

BOM各层级计算真实用量

BOM各层级计算真实用量

SELECT * FROM ( select 级别='1',A='A1',B='B1',用量='1',B真实用量='' UNION ALL select 级别='2',A='B1',B='C1',用量='2',B真实用量='' UNION ALL select 级别='3',A='C1...

IOS获取应用程序的名称和版本号

应用程序的名称和版本号等信息都保存在mainBundle的一个字典中,用下面代码可以取出来。 NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* versionNum =[infoDict object...

发表评论

访客

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