追溯更改SVN提交消息?

Pek*_*ica 84 svn tortoisesvn visualsvn-server

我想将大量SVN提交消息重写到不同的结构,例如前缀类别.从:

"foo" now accepts "bar" format for connection string.

我想要

core - database - "foo" now accepts "bar" format for connection string.

有一个简单的方法来做到这一点,它包含反倾销使用整个存储库svndumpfilter

我在客户端使用TortoiseSVN,在服务器端使用VisualSVN.(VisualSVN是经典的包装器svn,我也可以通过命令行与之交谈.)

Jes*_*erE 97

是的,可以更改提交消息.它们作为修订版本的属性实现,类似于常规文件属性.

在TortoiseSVN Log窗口中,您可以右键单击提交并选择"编辑日志消息".

  • 如果你有一个称职的Subversion管理员,你问我*我*:) (19认同)

Ada*_*ire 58

您当然可以追溯更改日志消息,它包含在FAQ中.我不确定VisualSVN的命令行界面是如何工作的,但是对于vanilla svn,命令就是这样

svn propset -r N --revprop svn:log "new log message" URL
Run Code Online (Sandbox Code Playgroud)

如果要在不转储存储库并重新加载的情况下对所有修订执行此操作,则可以编写此命令的脚本以处理所有修订的列表.这需要一些时间,这取决于您的存储库的大小,但原则上没有理由你不能这样做,它不涉及转储和重新加载.

此外,vanilla SVN有一个命令svnlook,它是一种直接与存储库文件一起工作的管理工具.该工具不理解URL(您必须具有对存储库的文件系统级访问权限),但速度快得多.语法略有不同,但您可以使用该工具以相同的方式修改属性.

  • 谢谢@kazark,我必须做``svn propedit -r N --revprop svn:log```才能在我的编辑器中更改消息. (3认同)
  • 只是添加一个注释:默认情况下,该命令不起作用,因为默认情况下不允许**更改版本属性**.为了允许它,svn管理员必须创建一个名为**"pre-revprop-change"**的钩子.如上所述,此信息在[FAQ](http://subversion.apache.org/faq.html#change-log-msg)中. (3认同)
  • 如果你想使用你的编辑器:`svn propedit -r N svn:log`. (2认同)

And*_*ett 26

是的,您可以,但您需要先在存储库中启用它.

在存储库中,在hooks目录中,是一个名为pre-revprop-change.tmpl的文件.它有几页关于它的作用的评论,并且设置为仅允许更改日志属性.要启用它,请将文件重命名为pre-revprop-change并使其可执行(我假设使用POSIX托管的subversion,如果您使用Windows进行托管,则可能会发现此消息有用).

一旦存储库允许,您可以使用Tortoise从提交上的右键单击菜单更改提交的日志消息,或者您可以使用命令行.


Jos*_*Lee 7

svn propsetsvn:log酒店使用.svn书中的例子.