2009-01-09 72 views
2

不久前,我們使用Microsoft VSS作爲我們的版本控制工具,並用於在每個版本結束後創建代碼分支並將其部署到我們的客戶端。你們將什麼部署到客戶端SVN分支機構或標籤

現在我們已經轉移到SVN,最近已經出現了很多關於標籤/分支的討論中,我們應該標記/分支發展之後我們的代碼爲特定版本?

SVN居然建議這樣的目的,「標籤」,也建議不要進一步做出任何更改,所以我們將在哪裏做出令人髮指的bug修復,來了此版本?

是做圓的另一件事情就是創建兩個標籤和分支,部署標籤給客戶,並櫃面任何錯誤(S)來了,弄不好會進行分支,然後再標記:-(

什麼其他的人呢?

回答

0

標籤上發佈分支。

2

是,你通常會創建平行於軀幹維護分支,你標記的bug修復版本了這一點。

5

在Subversion他們同樣的事情 - 他們是實施d同樣的方式,結果是相同的(除了你的回購層次)。它們只是對存儲庫特定版本的引用。沒有真正的副本。當你開始在一個分支上工作時(真正意義上的),那麼你正在一個新的地方使用該資源的新副本。

你總是可以做一個分支了標籤,如果/當你需要,所以沒有理由讓一個分支和標籤。

如果它可以幫助你保持一致,然後繼續前進,這樣做,但在現實中,直到你開始檢查/進行修訂,以一個分支它沒有做任何事情。

(標籤/分支都用cp命令製作)

+0

要在工作中添加這樣一個約定,即標籤是永久的,但分支只是用於更改/修復 – 2009-01-09 20:47:29

+0

是的 - 這就是意圖是什麼,以及這些詞的常規含義。 svn書也提出了這個建議。 – Tim 2009-01-09 21:28:34

0

由於源控制概念仍然是相當新來的,尤其是SVN,我們獨自工作過的樹幹。很好地工作,直到我們有不應該上線的提交,而當時部署的人不知道這一點。

一旦大家對SVN感到滿意,並且至少有一位熟悉合併的人,我將設置一個'生命'分支,將所有批准的生產提交合併到一起。

標籤很好,因爲你可以把名字放到開發週期中,'beta','alpha','release candidate 1'等等。但是你需要的最重要的東西是你可以依賴的一個好分支使用。標籤可以更容易地確定里程碑。

6
  1. 當你做出一個版本,爲它創建一個標籤。例如,版本1.1.0
  2. ,如果你有該版本一bug修正/改變,從標籤首先創建一個分支,這就是「穩定分支」,通常與「.X」作爲最後一個版本號命名。例如,穩定-1.1.x版本
  3. 合併從主幹到穩定分支
  4. 缺陷修復/更改提交更改到穩定分支
  5. 一旦你覺得夠了錯誤修正/上穩定分支的變化是存在的理由一個新版本,從穩定分支創建一個標籤,例如release-1.1。1
  6. 保持在主幹上開發,合併錯誤修正回穩定分支
  7. 重複3-6
2

創建一個代碼行的具體的版本(例如軀幹)標籤始終做到發佈從標籤。 svn中的標籤雖然沒有被svn本身強制執行,但它們都是快照和參考點。利用這種隱含的概念,並且只發佈一個由您和其他人知道與特定版本相對應的標籤創建的版本。

使用分支機構向特定版本提交維護補丁(例如,如果您需要修補發行版,請從標記創建分支),然後在從您的分發版發佈時爲分支添加標籤。