2011-03-01 44 views
3

使用SVN,我正在考慮使用SVN導出命令將第一個版本(版本1.0)發佈到生產服務器。然後?如何升級?

升級的下一步是什麼?例如,如果我想釋放下一個將會是1.1的版本,應該怎麼做?在不刪除所有文件的情況下,是否有辦法從標籤升級?

回答

6

一般釋放步驟:

  1. Create a Tag從主/測試分支。這是已發佈的代碼。沒有分支就不能修改。這是1.0版本。您在生產服務器上構建並部署此代碼。

  2. 在主分支(trunk)中繼續編碼版本1.1。在v1.1結束時,您將創建另一個標籤,它將成爲發佈版本1.1。等等。

理想情況下,每發佈一個標籤。如果有固定的版本必須轉到先前發佈的版本,那麼從該標籤(例如1.0)中(1)create a branch,(2)將問題修復到分支中,(3)從該分支中​​創建另一個標籤作爲發佈版本1.0.1

請注意,在整個過程中沒有文件被刪除。您只需創建新的分支,即您的代碼庫的cheap-copies


更新

但後來我怎樣才能升級到標籤生產1.1嗎? SVN導出會覆蓋現有文件並刪除標籤1.1中刪除的文件嗎?這是我的擔心。

兩件事情

  1. 出口確實從任何地方刪除任何文件。它下載一個乾淨的副本(沒有.svn和其他特定於SVN的東西)作爲參數提供給它的URL。看到這裏svn export

  2. creating a branch或標籤,你應該複製。而不是導出,然後是導入。最常見的發佈流程看起來像下圖:(對不起,可憐的藝術)

SVN倉庫各國時間

             /---> Tag 1.0.1(release to prod) 
        /--- Branch 1.0.1 for spot-fixes----| 
       /         | 
      /---Tag 1.0 (released to prod)    v (merge fixes) /---Tag 1.1 (released to prod) 
Trunk ----->'------Development for v1.1----------------'----------------->'----Development for v1.2--> 

沒有什麼東西是不斷刪除,您有標籤每次發佈。

+0

但後來我怎麼樣可以升級到1.1標籤中生產? SVN導出會覆蓋現有文件並刪除標籤1.1中刪除的文件嗎?這是我的擔心。 – CIF 2011-03-02 22:04:23

+0

@WSM更新了答案 – Nishant 2011-03-03 04:53:43