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 ...
随机推荐
- GCD中的dispatch_set_target_queue的用法及作用
(一),使用dispatch_set_target_queue更改Dispatch Queue的执行优先级 dispatch_queue_create函数生成的DisPatch Queue不管是Ser ...
- eclipse 中手动安装 subversive SVN
为什么我选择手动安装呢?因为通过 eclipse market 下载实在太慢了. 1.下载离线安装包 http://www.eclipse.org/subversive/latest-releas ...
- 怎么录制Android或IOS动画教程
前一篇文章介绍了用DemoCreator制作Android视频教程,今天再介绍一种方法. 那就是用GifCam软件录制,此软件录制导出成Gif动画图片,可直接放在你的文章里面,效果比flash要好. ...
- 软件测试作业1--描述Error
记忆犹新的错误: 上个学期选修了可视化这门课程,最后大作业用d3实现,在使用d3读取csv数据的时候出现了以下Error: 我先是在代码中读取了某csv格式的数据,并且将其存入变量root中,然后对r ...
- 你真的说的清楚ArrayList和LinkedList的区别吗
参见java面试的程序员,十有八九会遇到ArrayList和LinkedList的区别?相信很多看到这个问题的人,都能回答个一二.但是,真正搞清楚的话,还得花费一番功夫. 下面我从4个方面来谈谈这个问 ...
- ehcache整合spring本地接口方式
一.简介 ehcache整合spring,可以通过使用echache的本地接口,从而达到定制的目的.在方法中根据业务逻辑进行判断,从缓存中获取数据或将数据保存到缓存.这样让程序变得更加灵活. 本例子使 ...
- 有关RDS上只读实例延时分析-同适用于自建MySQL主从延时分析判断
个人不是很喜欢在技术上跟人互喷,尤其是不在同一个岗位上的人.一方面本人的性格如此,另一方面,我自身的口水也确实是不行,人生经历了第一次的双11洗礼,在大促的环境下,总算知道了有些东西是否应该规避,这次 ...
- 计算几何--求凸包模板--Graham算法--poj 1113
Wall Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 28157 Accepted: 9401 Description ...
- linux 打包压缩工具
以.gz结尾 gzip 压缩工具压缩的文件gzip+文件名[root@test ~]# gzip 2.txt[root@test ~]# ls2.txt.gz testgzip -d +压缩包[roo ...
- OpenStack neutron删除网络设备出错解决办法
目标:要删除外网Ext-Net2 直接删网络也会出错:因为有一个或多个端口在使用该网络 root@controller:~# neutron net-list +------------------- ...