提交后如何在我的源代码中存储最新的SVN修订版本号?(TortoiseSVN)

15

通过TortoiseSVN,在提交之前是否可以知道你将要获取的SVN版本号,以便我可以将该版本号放入源代码的注释部分?

也许有一个特殊的键名/变量,我可以将其放入我的文件中,TortoiseSVN将自动用即将提交的版本号替换它吗?

背后的动机是,我可以拿最新的构建版本并查看它由哪些SVN版本号组成,只需查看源代码即可。这也让管理层感到满意。

5个回答

14

Subversion支持关键词扩展,但在选择实现之前,您可能想要在此处阅读相关信息

通常最好避免使用已经存在于SVN中的内容修改提交文件。上面第二个链接详细介绍了为什么这可能是一个坏主意。但基本上,差异和补丁可能会出现问题。

您也不需要复制Subversion捕获的信息,因为可以通过log命令轻松获取。


另一方面,如果您想将该修订号作为验证系统的一部分进行存储,那么日志对您没有任何帮助,因为您不知道在运行验证时修订是什么。 - simpleuser

6

SVN特殊关键字 - 特别是:"$Revision$"

(说明:SVN是Subversion的缩写,是一种版本控制系统)

0
如果您正在使用某种构建工具来打包您的代码,比如Ant,您可以在构建过程中包含一个SVN属性查询。
由于我只有在Ant中做这个的经验,所以步骤如下:
<svn svnkit="true" javahl="false">
    <status path="." lastChangedRevisionProperty="svn.lastRev"/>
</svn>

一旦设置了svn.lastRev属性,您可以将其注入到您的代码注释中 - 可能通过令牌替换。我不确定这是否正是您要寻找的内容。但我同意,看着你的代码并知道它来自哪个SVN版本确实很好。

0

0

在项目的每个源文件中存储SVN修订号并不重要。

例如,可以将文件“svn.c”添加到项目中,并让SVN在每次提交时写入以下行:

size_t svn_revision = n;        /* n is the revision number written by SVN */

之后,例如在启动时,可以使用printf()函数输出svn_revision变量。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接