2011-08-18 87 views
1

我在我的項目X中有一個/ Trunk。在第69修訂版中,我們必須恢復三個早期版本(61,63,64)中的更改。SVN分支問題

我所做的是對修訂版61,63,64進行反向合併,並將其轉化爲第69版。然後我們可以再次進行部署,每個人都很高興。

現在我們已經瞭解到,在單獨的分支中開發新功能是一個整潔的想法,然後Trunk隨時可以部署到生產環境(並在當前版本上進行修補程序)。

因此,現在我已經在/ Trunk(這是第69版)中的HEAD修訂版本中創建了「/ Branches/X」(rev 70),但是我想讓我在/ Trunk中取消修改(61,63,64)

這是正確的方法是什麼?

順便說一句,我已經明確表示了嗎? :)

+0

最好在當前開發版本中使用trunk,使用標籤標記版本和分支來發布bug修復和實驗性功能。 http://ariejan.net/2006/11/24/svn-how-to-structure-your-repository對此有合理的討論。 – 01es

回答

2

首先,看你的拼寫檢查:trunkbranches是常規全小寫。這就是說,你應該刪除你的分支和修訂68

svn delete <project_url>/branches/X -m"branch X removed" 

svn copy <project_url>/[email protected] project_url/branches/X -m"New branch X" 

這裏創建它我假設修訂68包含轉速的所有變化。 61,63,64和沒有你不想要的東西。

我相信你已經意識到,如果沒有the Subversion book,你就不會走得太遠。

1

你只需再次將它們合併,現在分支:

所有的
svn merge -r60:64 url://trunk wc-branch 
1

一般來說,假設你要合併一些變化套起分支X分支Y.做使用TortoiseSVN以下步驟:

  1. 在工作文件夾中的Y WF領Y元。
  2. 轉到Y-WF。
  3. 右鍵單擊並選擇合併。
  4. 對於源url,輸入X分支的URL。
  5. 選擇要合併的更改集。
  6. 按OK。
  7. 現在,這些更改已應用於您的工作文件夾。 (在沒有衝突的情況下)
  8. 檢入所有更改。