在OrtoiseSVN中,在提交后添加注释?

在OrtoiseSVN中,在提交后添加注释?,svn,tortoisesvn,Svn,Tortoisesvn,可能重复: 偶尔我会无意中提交一个文件而不加注释(我们应该对每次提交都进行注释,无论更改多么微不足道)。是否有一种方法可以在提交后添加注释,而无需还原和重新提交?从中,可以使用pre-revprop change钩子或svnadmin setlog命令(如果您具有对存储库的本地访问权限,我怀疑您没有),但是,在团队环境中,我建议还原和重新提交可能是一个更好的选择。除了在svn:log上执行propset之外,还可以使用以下建议: 您应该考虑创建一个预提交钩子,它将阻止您在没有提交消息的情况下进

可能重复:


偶尔我会无意中提交一个文件而不加注释(我们应该对每次提交都进行注释,无论更改多么微不足道)。是否有一种方法可以在提交后添加注释,而无需还原和重新提交?

从中,可以使用
pre-revprop change
钩子或
svnadmin setlog
命令(如果您具有对存储库的本地访问权限,我怀疑您没有),但是,在团队环境中,我建议还原和重新提交可能是一个更好的选择。

除了在
svn:log
上执行
propset
之外,还可以使用以下建议:

您应该考虑创建一个预提交钩子,它将阻止您在没有提交消息的情况下进行检查。这可以在服务器上,甚至在本地副本上。屏幕截图,因为您使用的是陆龟vn:

毕竟,预防胜于治疗

防止在没有提交消息的情况下提交的预提交示例:

for %%I in (%3) Do (
IF %%~zI==0 (
echo "No commit message given" 1>&2
exit 1
)
)

我对bash的了解有限,但上面的方法似乎有效。如果需要,您当然可以使用Python、Ruby等语言编写脚本。基本上,第三个参数是包含提交消息的临时文件。如果它是空的,如果是的话退出。

我会把这两个都看作最佳实践:

  • 需要提交注释(需要预提交挂钩)
  • 允许编辑现有注释(需要预修订版本更改挂钩)
  • 我发现后者很有用,因为它允许您返回并修改写得不好、不准确或完全不好(例如“修复”:-)的消息

    关于前者,最好安装在服务器上——这样它会自动适用于所有人。如果您要求用户在客户端进行设置,则可能会有新用户忘记这样做

    安装钩子非常简单,只需在存储库的hooks目录中放置钩子脚本即可。事实上,当您创建一个存储库时,它会用示例钩子脚本填充钩子目录;但是,它们在Unix/Linux shell脚本中,因此如果您的服务器基于Windows,则需要查找(或编写)其他版本。碰巧,SO问题提供了几个钩子的Windows版本,包括上面提到的两个钩子


    有关Subversion钩子的完整详细信息,请参阅的第5章(适用于服务器端)和第4章(适用于客户端)。

    您可以查看管理员是否可以在服务器上安装提交钩子,以防止提交而无需注释。谢谢@RedFilter@SteveMc,在一个实用的工作环境中,这是一个好主意manojlds(见下文)提出了一个很好的建议。我忘了你可以制作一个本地预提交钩子。谢谢@Richard,在阅读了相关内容后,恐怕你是对的。谢谢@manojlds。我喜欢这个想法,并试图找到如何做到这一点的文件,但没有找到太多。我找到了几个示例:但我想要一些API或手册,向我展示可能的选项。你知道如何检查空评论或者在哪里可以找到这些信息吗?@squidbe-已经用hookThank@manojlds更新了我的答案。我在使用该脚本时遇到一个错误:“hook脚本返回了一个错误。”你能给我指一下你用来写剧本的资源吗?我来挖;我只是想知道在哪里挖。
    for %%I in (%3) Do (
    IF %%~zI==0 (
    echo "No commit message given" 1>&2
    exit 1
    )
    )