2009-10-25 55 views
1

我正在維護一個自制的基於web的CRM,我使用Subversion進行版本控制。我想要的是在導出到生產服務器之後將修訂號寫入文件,以便出於調試原因將其顯示在CRM的狀態頁中。如何在導出後將當前修訂版號碼導入到文件中?

有什麼辦法可以用命令行工具做到這一點嗎?

回答

3

從技術上講,你不能這樣做以後出口肯定,因爲其他承諾情況可能會剛剛在兩者之間。實際上,您可以通過svn info <URL>獲取信息。您當然可以先執行svn info,提取修訂版並導出該修訂版以確保兩者相符。

如果您進行結帳而不是導出,則信息可通過svn info <path>獲取。

另一種方法是使用關鍵字在導出的文件之一(我們稱之爲script.h),就像這樣:

#define VERSION_STRING "r$Revision$" 
// ... rest of the file 

如果你給了svn:keywords的屬性文件(並提交),在$ $修訂將在檢出或導出所取代:

svn propset svn:keywords "Revision" script.h 

(還有其它的替換,檢查SVN documentation進一步的細節)

+0

如果你使用'Revision'關鍵字,那麼這將是在結算/導出時由更改號碼替換此文件最後更改。不完全是OP想要的。 – 2011-08-25 11:44:59

1

如果你的U se Ant作爲你的構建工具,你可以編寫一個custom Ant task來從刪除的Subversion服務器獲取信息,將它們存儲到Ant項目的屬性中,並使用替換將這些值放入某些屬性/類中。

既然你肯定你構建從Subversion的標籤製作應用程序,你會不會有顯示錯誤信息(如RegGlyph提到的)風險

相關問題