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

时间:2011-05-17 19:00:08

标签: svn tortoisesvn

  

可能重复:
  Can I go back and edit comments on an SVN checkin?

很少见,而我无意中提交了一个没有评论的文件(我们应该对每次提交发表评论,无论改变多么微不足道)。有没有办法在提交后添加评论而不还原和重新发布?

3 个答案:

答案 0 :(得分:1)

FAQ开始,有一种机制可以使用pre-revprop-change挂钩或svnadmin setlog命令(如果您对本地存储库有本地访问权限,我怀疑您没有),但在团队环境中,我会建议恢复&重新承诺可能是一个更好的选择。

答案 1 :(得分:1)

propset svn:log svn propset --revprop -r 1000 svn:log "Not blank" for %%I in (%3) Do ( IF %%~zI==0 ( echo "No commit message given" 1>&2 exit 1 ) ) 之外,使用Can I go back and edit comments on an SVN checkin?建议使用下面的内容:

{{1}}

您应该考虑创建一个预提交挂钩,以防止您在没有提交消息的情况下签入。这可以在服务器上,甚至在本地副本上。截图,因为您使用的是TortoiseSVN:

enter image description here

毕竟,预防胜于治疗!

示例预提交以防止提交没有提交消息:

{{1}}

我的bash知识有限,但上述似乎有效。如果需要,您当然可以使用Python,Ruby等脚本。基本上,第三个参数是包含提交消息的临时文件。查看它是否为空,如果是,则退出。

答案 2 :(得分:0)

我认为这两种方法都是最佳做法:

  1. 要求提交(需要提前挂钩)
  2. 允许编辑现有注释(需要预先更改挂钩)
  3. 我发现后者很有用,因为它允许你回去修改写得不好,不准确或只是简单的坏(例如“固定”:-)消息。

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

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

    有关Subversion挂钩的完整详细信息,请参阅服务器端Implementing Repository Hooks第5章中的the Subversion Book和客户端Client Side Hook Scripts第4章中的the TortoiseSVN manual