如何在导出后将当前版本号放入文件中?

时间:2009-10-25 10:45:52

标签: svn version-control chui

我正在维护一个自制的基于Web的CRM,我使用Subversion进行版本控制。我想要的是在导出到生产服务器之后将修订号写入文件中,以便我可以在CRM的状态页面中显示它以用于调试原因。

有没有办法用命令行工具做到这一点?

3 个答案:

答案 0 :(得分:3)

从技术上讲,在导出之后你无法确定,因为另一次提交可能只发生在中间。实际上,您可以使用svn info <URL>获取信息。您当然可以首先执行svn info,提取修订并导出该修订以确保两者都对应。

如果您执行结帐而不是导出,则可通过svn info <path>获取相关信息。

另一种方法是在导出的文件中使用关键字(让我们称之为script.h),如下所示:

#define VERSION_STRING  "r$Revision$"
// ... rest of the file

如果您将svn:keywords属性提供给您的文件(并提交),$ Check $将在结帐或导出时替换:

svn propset svn:keywords "Revision" script.h

(还有其他替换,请查看SVN documentation了解更多详情)

答案 1 :(得分:2)

您可以使用keyword substitution始终将信息存在于文件中。

答案 2 :(得分:1)

如果您使用Ant作为构建工具,您可以编写custom Ant task来从删除Subversion服务器获取信息,将它们存储到Ant项目的属性中并使用替换将这些值放入某些属性/类中

由于您肯定是从Subversion标签构建生产应用程序,因此您不会有显示错误信息的风险(如RegGlyph提到的)

相关问题