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 ...
随机推荐
- 在Eclipse设置打开项目或文件目录
Run-->External Tools-->Open External Tools Dialog... new 一个 program location 里面填 :C:\WINDOWS ...
- ReSharper 8.XXX 注册机
今天给电脑重装系统,发现Rsharper已经更新到8.0.14.856了,于是下载新版本的,但像咱搞开发的,肯定不能用付费软件(关键是你也付不起啊,499$,499刀啊).于是在网上找相关的激活软件. ...
- DEV主从表
1.主从表隐藏表格展开按钮. 当主表内容不包含子表时候隐藏,主从表加号图标.效果如下图. 实现代码 private void gvMain_CustomDrawCell(object sender, ...
- JavaScript Patterns 4.1 Functions Background
Functions are first-class objects and they provide scope. • Can be created dynamically at runtime, d ...
- openstack-networking-neutron(四)--iptables
Filter表:过滤数据包,默认表. (1)INPUT 链:过滤所有目标地址是本机的数据包(对进入本机数据包的过滤) (2)OUTPUT 链:过滤所有本机产生的数据包(对源地址得数据包的过滤) ( ...
- 物理系统迁移虚拟化P2V技术
企业搭建虚拟化平台之后的第一件事肯定是将现有的服务器应用业务转移到虚拟服务器上,这就是虚拟化整合服务器的第一步,也是虚拟化程序的基础功能之一:P2V的转化功能. AD: 企业搭建虚拟化平台之后的第 ...
- [转]Ionic Datepicker
本文转自:https://market.ionic.io/plugins/ionicdatepicker ##Introduction: This is an ionic-datepicker bow ...
- docker containerd中的容器操作
containerd的中的各种操作都是通过Task来进行的,因此对于容器的create, start, delete等等操作其实都是一个个的Task而已. Task的数据结构如下所示: type Ta ...
- select2取值报错,Failed to read the 'selectionDirection' property from 'HTMLInputElement': The input element's type ('hidden') does not support selection.
用到了 select2 组件来多选收件人,用搜狗浏览器(6.2版高速模式)在执行到如下这句时报错(Uncaught InvalidStateError: Failed to read the 'sel ...
- disabled和readonly的区别?
在博客园中看到这样一篇文章,关于disabled和readonly的区别,以前还真的没有注意它们的区别,还是有必要知道它们的区别的,所以转载了. 这两个属性有类似之处,但是区别也是巨大的,之所以说类似 ...