Subversion:如何复制提交预登记文件底部的日志

时间:2009-07-23 08:37:46

标签: svn

假设我有一个使用Subversion提交的文本文件。在提交之前,会出现一个弹出窗口,其中包含要提交的文件和一个消息框,我可以在其中发表有关所述文件更改的注释。

第一个问题,我想验证是否可以将我放置在弹出窗口的消息框中的消息放在我将提交的文本文件的底部。

其次,如果是,请告知如何实施。我真的没有关于预提交的想法。

2 个答案:

答案 0 :(得分:6)

不,这是不可能的。见this answer from the Subversion FAQ

Subversion是否有一个关键字,其行为类似于CVS中的$ Log $?

没有。 CVS中的$ Log $关键字没有等价物。如果要检索特定文件的日志,可以运行“svn log your-file-name”或“svn log url-to-your-file”。从邮件列表中解释为什么$ Log $是坏的:

  

“$ Log $是一个完全恐怖的时刻   你开始合并之间的变化   分支机构。你实际上   保证在那里发生冲突,   哪 - 因为这个性质   关键字 - 根本无法解决   自动“。

  

Subversion日志消息是可变的,   它们可以通过设置来改变   svn:log revision属性。所以   在任何给定文件中扩展$ Log:$   可能已经过时了。更新很可能   需要检索适当的日志   每次出现的消息   $ Log:$ keyword,即使是那个文件   包含它不是其他   更新。

我不在乎。无论如何我想用它。你会实现吗?

没有。没有计划自己实现它或接受实现此功能的补丁。如果您希望使用包含的某种更改日志来分发文件,则可以在构建系统中解决此限制。

答案 1 :(得分:0)

您当然可以编写自己的提交对话框,重建TortoiseSVN的提交对话框(例如使用PySVNPyQt),然后将提交消息附加到文件(从而修改文件)犯。但是,由于flodin给出的原因,我强烈强烈建议不这样做,因为它是处理提交消息的VCS工作 - 而不是源文件。如果您想让提交消息脱机可用,我建议使用脚本将它们写入文件。或者,使用诸如gitbzr之类的DVCS镜像svn存储库。