2012-02-17 79 views
1

我想在使用NSIS構建安裝程序時自動捕獲我的代碼的svn修訂版。我看到我可以通過在命令行中調用「svnversion」來獲取修訂號,但是如何在構建時將它映射到我的NSIS腳本中的${define}將SVN修訂號碼獲取到NSIS腳本中

+0

?惡性? MSBUILD? scons的? – thekbb 2012-02-18 03:38:54

回答

2

您可以在編譯時執行任何命令與!system然後得到/用!searchparse,!define /file!include解析輸出。

另一種方法是$Revision$svn keyword(見this question更多)什麼是您使用建立

+1

感謝安德斯,我知道了這個工作:!!!! 「 系統」! '臨時文件 「svnrev.txt」 appendfile 「svnrev.txt」 「定義SVN_REV svnversion,如果.. \ >> svnrev.txt」 包括「svnrev.txt」 !delfile「svnrev.txt」 \t DetailPrint $ {SVN_REV}' – Dan 2012-02-21 00:46:28

0

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

即:

  • 你有NSIS腳本的模板,其中倉庫相關數據由SubWCRev的關鍵字,以獲得實際更換
  • 您的構建系統使用SubWCRev在某個階段腳本,從回購了最新數據

例(提取從我的項目模板)

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

SubWCRev魔法爲(去年構建)

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

全新改版後會出現在最終文件 - 新數據,更新的標題

相關問題