簡體   English   中英

在NSIS腳本中獲取GIT或SVN版本號

[英]get GIT or SVN revision number into NSIS script

我們在這里有一個SVN存儲庫和一個GIT存儲庫。 我們目前都擁有這兩個職位,是因為我們試圖說服其余員工,使用后者比使用前者就足夠了。 無論如何,我想將版本號合並到.exe文件中(使用或)到我正在編寫的NSIS腳本中。 但是我似乎無法理解如何在代碼中實現它。 到目前為止,這就是我所擁有的。

Section 
nsExec::Exec '"git" describe head'
Pop $0 #return value/error/timeout
Pop $1 #printed text
DetailPrint "       Return value: $0"
DetailPrint "       Version printed: $1"
SectionEnd

偽代碼是:如果存在GIT,則GIT描述頭,否則,如果SVN存在,則SVN信息解析版本號,否則解析程序集信息(稱為version.txt)

我將如何繼續為NSIS編寫代碼? 目標計算機是Windows 7,8&8.1

使用修訂版1.4b.2和一些GIT哈希(如果存在GIT,則為true),最終輸出應類似於KART.-1.4b.3.nte3j-installer.exe。 我所擁有的不多,但除此之外,.exe可以很好地構建和安裝,它只是在那里獲得了轉速號。

如果要獲取修訂號並將其用作生成的設置的文件名(或UI文本)的一部分,則必須使用編譯時命令,如!system!searchparse ...

編輯:

!tempfile StdOut
!echo "${StdOut}"
!system '"svn" info c:\foo\trunk > "${stdout}"'
!searchparse /file  "${StdOut}" "Revision: " SVNREV
!delfile "${StdOut}"
!undef StdOut
Name "MyApp SVN.${SVNREV}"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM