2013-07-10 18 views
1

我們正在嘗試獲取版本號並使用它進行一些基本操作。版本號的檢索的偉大工程,但操作並不:使用tortoiseSVN和SubWCRev,但是WCREV&,WCREV-WCREV +操作不起作用

我們運行如下:

SubWCRev.exe . buildNumTemplate.txt buildNum.txt 

在buildNumTemplate.txt我們下面

#WORKS 
Revision: $WCREV$ 
Modified: $WCMODS?Yes:No$ 
Built_On: $WCNOW$ 

#DOESN'T WORK 
Revision_Minus_100: $WCREV-100$ 
Revision_Plus_100: $WCREV+100$ 
Revision_Append: $WCREV&test$ 

運行後上面的命令,我們得到以下顯示問題:

#WORKS 
Revision: 35592 
Modified: Yes 
Built_On: 2013/07/10 11:58:45 

#DOESN'T WORK 
Revision_Minus_100: $WCREV-100$ 
Revision_Plus_100: $WCREV+100$ 
Revision_Append: $WCREV&test$ 

我們運行SubWCRev的方式有沒有什麼奇怪的地方,因爲它沒有正確執行操作?如果我們無法得到這個工作,我們可能會使用ant build腳本使用數學運算來執行一些操作,以獲得期望的結果。

+1

我沒有答案,但完全按照手冊中的說明運行1.7.7 build 22907,我得到了相同的結果。 – alroc

回答

0

SubWCRev只知道和處理預定義的一組關鍵字,其中$WCREV$存在,但$WCREV<ANYTHING>$ - 不。因此你的「變量」不會被擴展和計算。

編輯

重新檢查文檔和我的SubWCRev。由於URL是http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev-example.html(包含RELEASE),它應該是正確的版本(最新的公開版本)。今天發佈的

SubWCRev 1.8.0, Build 24401

,並從手工作業這個版本的模板沒有任何問題。它看起來像你使用了錯誤版本的文檔造成了混淆。

對於我上次使用的回購URL

// Test file for SubWCRev 

char *Revision  = "1244"; 
char *Revision16 = "220"; 
char *Revisionp100 = "1344"; 
char *Revisionm100 = "1144"; 
char *Modified  = "Not modified"; 
char *Unversioned = "no unversioned items"; 
char *Date   = "2013/04/01 08:30:36"; 
char *CustDate  = "Mon, 01 April 2013"; 
char *DateUTC  = "2013/04/01 02:30:36"; 
char *CustDateUTC = "Mon, 01 April 2013"; 
char *TimeNow  = "2013/07/11 11:06:28"; 
char *TimeNowUTC = "2013/07/11 05:06:28"; 
char *RevRange  = "1263"; 
char *Mixed   = "Not mixed"; 
char *ExtAllFixed = "All externals fixed"; 
char *IsTagged  = "Not tagged"; 
char *URL   = "https://subversion.assembla.com/svn/customlocations-greylink/trunk/city"; 
char *isInSVN  = "versioned"; 
char *needslck  = "FALSE"; 
char *islocked  = "not locked"; 
char *lockdateutc = "1970/01/01 00:00:00"; 
char *lockdate  = "1970/01/01 06:00:00"; 
char *lockcustutc = "Thu, 01 January 1970"; 
char *lockcust  = "Thu, 01 January 1970"; 
char *lockown  = ""; 
char *lockcmt  = ""; 

#if 0 
#error Source is modified 
#endif 

// End of file 

WCREV&關鍵字的樣品中,即使在1.8 必須以適當的方式來使用:在文檔仔細閱讀關鍵字描述:

替換在工作副本中具有最高的提交修訂版本,並與& char之後的值進行AND運算。例如:$ WCREV & 0xFFFF的$

即表達的右側部分必須是一個數字,而不是一個自定義文本串爲URL樣導致文本(參見Revision16變量和原始數以上的樣品中)

+1

'$ WCREV + 100 $'是一個例子[在SubWCRev文檔中給出](http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev-example.html),它不適用於我們任何人。 – alroc

+0

確切地說 - 我並沒有在網絡上的其他任何地方看到這一點,所以它不是真正在任何地方使用過的功能,或者是它最近打造的功能。我將不得不看看是否有tortoiseSVN的開發者論壇,看看他們是否可以看看。 – Justin

+0

@alroc - 它是** RELESE **的文檔,不適用於古代版本。爲1.7閱讀正確的文檔分支 - 爲1。7 –