【问题标题】:Get SVN revision number into NSIS script将 SVN 修订号获取到 NSIS 脚本中
【发布时间】:2012-02-17 21:31:34
【问题描述】:

我想在使用 NSIS 构建安装程序时自动捕获我的代码的 svn 版本。我看到我可以通过在命令行中调用“svnversion”来获取修订号,但是如何在构建时将其映射到我的 NSIS 脚本中的${define}

【问题讨论】:

  • 你用什么来构建的?南特?构建?斯康斯?

标签: svn nsis


【解决方案1】:

您可以在编译时使用!system 执行任何命令,然后使用!searchparse!define /file!include 获取/解析输出。

另一种选择是$Revision$svn keyword(更多信息请参阅this question

【讨论】:

  • 谢谢安德斯,我得到了它:!tempfile "svnrev.txt" !appendfile "svnrev.txt" "!define SVN_REV " !system "svnversion ..\ >> svnrev.txt" !include "svnrev.txt" !delfile "svnrev.txt" DetailPrint ${SVN_REV}
【解决方案2】:

如果您使用 Windows(不是吗?),您可以使用 TortoiseSVN 的 SubWCRev。

即:

  • 您拥有 NSIS 脚本的模板,其中与存储库相关的数据被替换为 SubWCRev-keywords
  • 您的构建系统在某个阶段使用 SubWCRev 来获取实际脚本,以及来自 repo 的最新数据

示例(从我的项目模板中提取)

// (C) 2009-$WCDATE=%Y$
// Assembled from $WCDATE=%Y%m%d$-r$WCREV$

将在 SubWCRev 魔术之后出现在最终文件中(用于最后构建)

// (C) 2009-2012
// Assembled from 20120122-r1143

新修订 - 新数据,更新标题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-09
    • 2023-01-10
    • 1970-01-01
    • 1970-01-01
    • 2014-07-02
    • 1970-01-01
    相关资源
    最近更新 更多