获取SVN修订号到NSIS脚本中

时间:2012-02-17 21:31:34

标签: svn nsis

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

2 个答案:

答案 0 :(得分:2)

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

另一种选择是$Revision$ svn keyword(有关详情,请参阅this question

答案 1 :(得分:0)

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

即:

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

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

// (C) 2009-$WCDATE=%Y$
// Assembled from $WCDATE=%Y%m%d$-r$WCREV$
在SubWCRev magic(最后一次构建)

之后,

将出现在最终文件中

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

新版本 - 新数据,更新标题