在COMMIT之后编辑Subversion上的日志条目

时间:2014-04-17 20:34:18

标签: svn

是否有任何方法可以在 COMMIT后修改Subversion日志条目,而无需借助服务器端的工作?

2 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

是。在Subversion中有两种类型的属性。一个是文件属性。这是文件或目录的一部分,并使用该文件进行版本控制。另一个属性是 revison属性。此属性位于修订更改本身,未进行版本控制。

在提交时设置三个特殊修订属性。一个是svn:log,它是提交消息。另一个是svn:author,它是执行提交的用户的id,最后一个是提交时的svn:date

由于这些属性未进行版本控制,因此更改该值可能是灾难性的。您可以隐藏更改的作者,更改日期或更改的原因。因此,Subversion不允许任何人在未经许可的情况下更改这些属性。

您通过pre-revprop-change挂钩授予权限。您可以使用此挂钩来限制谁可以进行更改。在许多钩子中:

  • 只能更改svn:log属性。
  • 只允许提交作者或SVN管理员更改svn:log属性。

在执行这两项的存储库的hooks目录中创建模板pre-revprop-change模板挂钩。许多网站只使用该模板脚本。但是,我看到网站做了其他事情。

  • 限制您允许更改提交消息的时间。也许允许某人一小时的窗口来改变它。
  • 记录更改。
  • 确保svn:log revprop中的更改与Jenkins等系统中的国际象棋年龄相匹配。

激活pre-revprop-change挂钩后,可以使用以下命令更改消息:

$ svn propedit --revprop -r $REV "new commit message"