svn命令行修改已提交的版本备注
svn命令行修改已提交的版本备注
参考文章:
stackoverflow.com/questions/304383/how-do-i-edit-a-log-message-that-i-already-committed-in-subversion
参考文章实现:
由于缺省情况下为安全起见Subversion不允许开发人员修改已提交reversion的日志信息,这样会报错误,提示不能修改以及请SVN管理员安装pre revprop change hook。
这个hook是什么意思呢? 实际上是一个版本日志变更的预处理程序,主要是用来保存老的日志信息,以避免在变更发生错误的时候,无法恢复。
那么需要管理员执行以下操作,就可以赋予开发人员变更日志的操作能力。
————————————————————————————————————————
1.将pre-revprop-change.bat(博客附件中可下载)文件拷贝到服务器资源hook路径下,如图

2.利用tsvn(小乌龟)可以使用edit log进行修改

3.命令行执行如下命令,即可达到修改效果
没有在服务器放置bat效果:
C:/Users/Malt>svn propset -r 1 –revprop svn:log “没有在服务器放置bat效果” svn://192.168.98.131/mentoree_repos –username mentorlib –password mentorLib_Lib
————————————————————————————————————
控制台输出:
svn: E165006: 此版本库不允许修改版本属性;请管理员创建 pre-revprop-change 钩子
————————————————————————————————————
4.在服务器放置bat效果:
C:/Users/Malt>svn propset -r 1 –revprop svn:log “修改Malt” svn://192.168.98.131/mentoree_repos –username mentorlib –password mentorLib_Lib
控制台输出:
设定属性 “svn:log” 于版本库版本 1
此时用tsvn查看效果不一定可以立刻显示, 我们用命令行执行svn log, 如下图效果:

—————————————————————————————————————————
实现了效果之后我们可以了解一下hook中的实现:
if “%4” == “svn:log” exit 0
echo Property ‘%4’ cannot be changed >&2
exit 1
在属性修改前,该脚本会被执行,如返回0即表示同意修改。另外,注意该目录下本就有一个pre-revprop-change.tmpl,但那个是xNix的shell脚本,windows平台貌似不太好用。
然后在客户端就可以正常修改了,其后台应该是调用类似下面的命令:
svn propset -r N –revprop svn:log “new log message” URL
也可以在服务端通过运行下面的命令来做同样的事情,其中FILE是保存新日志信息的文件路径:
svnadmin setlog REPOS_PATH -r N FILE
svn命令行修改已提交的版本备注的更多相关文章
- git 修改已提交了的备注信息的方法
git 修改已提交了的备注信息的方法: 1.当我们已通过 git commit -m '已提交的最新的备注' 命令将代码提交到了缓存区,或者进一步执行了 git push origin master ...
- Linux环境SVN命令行使用经验总结(转)
在windows机器上开发得差不多了之后,打包传送到开发机编译,在开发机上解决编译错误. [缺点] 浪费时间在打包解包,机器间传输代码. 在windows机器上开发之后,check in代码进分支,在 ...
- Mac SVN 命令行
Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.10 以下是一些常用命令 1.将文件checkout到本地目录 svn checkout path(p ...
- [MAC] Mac下的SVN命令行
转载自: http://www.cnblogs.com/snandy/p/4072857.html Mac自带了SVN命令行,如我的升级到10.10(OSX yosemite)后命令行版本为1.7.1 ...
- 转:svn命令行操作
原文:http://zhumeng8337797.blog.163.com/blog/static/10076891420115218821912/SVN命令行 -- ::| 分类: CVS |字号 ...
- Windows下SVN命令行工具使用详解
根据我的记忆,似乎Windows 7下自自带一个svn命令行工具.如果你的机器没有,不必担心.你可以从http://subversion.tigris.org获 取subversion for win ...
- svn命令行批量删除和批量添加
svn命令行批量删除和批量添加 如果使用svn的命令行,例如在linux下的终端中使用,svn的添加命令是svn add,删除命令是svn del,但是缺乏批量的操作,如果我在资源管理器中,手动添加了 ...
- SVN命令行笔记
SVN命令行笔记 近期玩了一下命令行,记录如下. svn info <path> #查看文件,路径信息 svn log <path> #查看文件,路径历史记录 svn st(s ...
- mysql命令行修改字符编码
1.修改数据库字符编码 mysql> alter database mydb character set utf8 ; 2.创建数据库时,指定数据库的字符编码 mysql> create ...
随机推荐
- iOS设计模式之单例模式
单例模式 基础理解 所有类都有构造方法,不编码则系统默认生成空的构造方法,若有显示定义的构造方法,默认的构造方法就会失效. 单例模式(Singleton):保证一个类仅有一个实例,并提供一个访问它的全 ...
- 找不到或无法加载主类 org.codehaus.plexus.classworlds.launcher.Launcher
配置PATH的时候,把$PATH写在后面,比如下面这样 export PATH=$MAVEN_HOME/bin:$PATH
- android学习笔记 activity生命周期&任务栈&activity启动模式
activity生命周期 完整生命周期 oncreate->onstart->onresume->onpause->onstop->ondestory 使用场景:应用程序 ...
- java网络---再论URL & URI
关于URL 和URI的关系,在本系列的第二篇:java网络---基本web概念 中已经简述了. 这里重复一点,就是URI包含URL,或者说URI是父类,URL就是子类的概念. 本篇再来详述这2个概念. ...
- openswitch db files
http://openvswitch.org/support/dist-docs/ovsdb-tool.1.html FILES The default db is /etc/openvswitch/ ...
- Hibernate之Criteria的完整用法
Criteria的完整用法 QBE (Query By Example) Criteria cri = session.createCriteria(Student.class); cri.add(E ...
- Effective Java 72 Don't depend on the thread scheduler
Principle Any program that relies on the thread scheduler for correctness or performance is likely t ...
- 深入剖析 Spring 框架的 BeanFactory
说到Spring框架,人们往往大谈特谈一些似乎高逼格的东西,比如依赖注入,控制反转,面向切面等等.但是却忘记了最基本的一点,Spring的本质是一个bean工厂(beanFactory)或者说bean ...
- Javascript中substr和substring的区别
由于在项目中有需要对字符串进行截取,然后手残使用了IDE自动提示的substr,没想那么多以为substr和substring没多大区别. 然而并不是,且听我一一道来. 1. substr(index ...
- jQuery Form 表单提交插件----Form 简介,官方文档,官方下载地址
一.jQuery Form简介 jQuery Form插件是一个优秀的Ajax表单插件,可以非常容易地.无侵入地升级HTML表单以支持Ajax.jQuery Form有两个核心方法 -- ajaxF ...