`

svn命令行修改已提交的版本备注

    博客分类:
  • JAVA
阅读更多
参考文章:
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

  • 大小: 21.8 KB
  • 大小: 68.8 KB
  • 大小: 4.2 KB
分享到:
评论

相关推荐

    SVN使用指南,win版

    - **提交**:将本地的更改上传至服务器时,选择“SVN提交”,并在提交信息中添加备注以便追踪。 - **增加文件/文件夹**:使用“增加”选项可以将新的文件或文件夹纳入SVN的管理范围。 通过以上详细介绍,我们不仅...

    svn 用法简单介绍.doc (绝对个人总结版)

    - `svn commit` 命令用于将本地的更改提交到仓库中。 - 必须提供一个简短的提交消息来描述此次提交的目的。 **扩展参数**: - `-m "message"`: 直接在命令行中输入提交消息。 - `--file FILENAME`: 从文件中读取提交...

    64位svn(服务+客户端+安装中所有问题解决方案)

    SVN,全称为Subversion,是一款广泛应用于软件版本控制系统的工具。64位的SVN提供了对大型项目和高内存需求的支持。在这个解决方案中,我们将深入探讨如何解决在安装和使用64位SVN过程中遇到的常见问题。 首先,...

    SVN插件:site-1.6.10.zip

    标签"SVN插件"直接指向了主题,即这是一个与SVN相关的插件,可能用于集成MyEclipse,使得用户可以在IDE内部直接进行版本控制操作,如提交、更新、比较和解决冲突等,无需离开MyEclipse去使用命令行或其他外部工具。...

    TortoiseSVN-1.6.0 中文帮助文档(PDF)

    - **提交日志信息:** 需要填写提交备注,说明本次提交的原因。 - **提交进程:** 显示提交过程中的进度。 **4.5 更新工作副本** - **更新:** 将版本库中的最新更改同步到工作副本中。 - **解决冲突:** 当多人...

    git 操作v1.0

    4. `git commit -m "备注"` - 提交暂存区的修改,附带提交信息。 5. `git push origin master` - 推送本地master分支到远程origin仓库。 在搭建Git服务器方面,Windows XP下需要SSH服务器,这里推荐使用CopSSH。在...

    jenkins搭建android自动打包环境

    为了确保其他团队成员也能使用相同的配置,应将 `build.xml` 文件提交到版本控制系统(如 SVN)中。 #### 配置 Jenkins 构建任务 ##### Invoke Ant 1. **配置 Ant 版本**: 在 Jenkins 的全局工具配置中选择合适的...

Global site tag (gtag.js) - Google Analytics