2008-09-19 41 views
3

当提交SVN时,我可以添加一个顶级提交消息来详细说明正在提交的内容,但我最好喜欢用一种方法来评论单个文件以及哪些内容发生了更改他们。我以前看过类似的工作,但是这是使用CVS(我不记得这是否是用家庭酿造脚本生成的骨架文件实现的)是否有方法在SVN中生成更改日志

我已经看过变更列表,但我再次看到不要认为(尽管我愿意被证明是错误的),这给出了如下所述的那种粒度。

理想我要寻找的线沿线的东西:

Foo.vb

  • 增加了新的功能吧

Bar.vb

  • 删除函数foo
  • 在XYZ做ABC +/-修改功能附加功能来记录错误

回答

2

我只想做在个人提交信息。 TortoiseSVN具有文件名自动完成功能,以便大大有助于此。

你可以做的另一件事是在提交之前将svn st复制/粘贴到提交信息中。

哦,一定要强烈质疑这个价值。我知道一些OSS项目(linux?)需要这种保真度,但对于许多项目来说,这只是噪声。差别可以告诉你比这更多,更准确地说。

您可能要考虑的另一件事是使用Git。 Git允许你以更小的步骤在本地提交。然后,您可以单独推送所有提交到主服务器,或者在单个消息中将所有提交消息压缩到一个提交。这是一种简单的解释,但它可能是值得检查的。

+0

'这只是噪音'......完全同意。对于提交日志,一般概述就足够了。为什么浪费时间通过文件更改输入文件?人们会停止阅读你的消息,因为如果他们足够关心的话,他们可以使用svn diff找到它。 – 2010-12-10 02:27:39

4

只要完成一项特定任务,您就可以提交。无论如何,这应该导致更好的评论。阅读所需的三个文件中的“实现电子邮件验证”的评论告诉我比“添加函数verify_email”更多。我可以在差异中看到后者。

0

如果在每个已提交文件中写入评论的方式有一些规则,则可以获得这种结果。之后这些评论可以通过svn触发器提取。

2

SVN和CVS之间的本质区别之一是变化是自动执行的。在CVS中,每个文件都有自己的版本,但是在SVN中,版本是针对整个项目的,并且包含所有文件一起检入。

这里有一个解决方案四个理念:

  1. 入住单独每个节目,用自己的日志信息。这可能意味着,如果您检查了五个文件,则会“耗尽”五个版本,其中四个版本可能导致构建损坏。
  2. 在一个单独的路径(即您自己的私人分支)上进行开发,按照上述方式进行,然后在战略时刻将您的分支合并到主干。
  3. 一起检查所有内容,并将各个记录保留为程序标题中的注释。这可能意味着(少许)额外的工作,但是您仍然必须编写个人登录消息。
  4. 对所有文件进行一次签入,但有一个很好的完整日志消息,详细说明每个文件的每个部分。
2

我写了一个项目做这种东西叫做MOAP

其功能之一是生成从当地的一个差异changelog的项目(目前支持集市,CVS,SVN,Git和的darcs )。您可以通过运行'moap changelog prepare'或'moap cl prep'来执行此操作。如果启用该选项,那么该条目可以包含已更改的功能。

然后,您将更改该条目并描述您的更改。您可以删除不想提交的文件,作为下一次提交的一部分。

然后,您可以运行'moap changelog commit'来提交ChangeLog条目中描述的更改。它只会提交那里列出的文件,并将所有其他更改保留在本地。

希望有帮助!

相关问题