2010-02-23 96 views
4

假設以下情況。SVN合併中繼到分支

我在trunk中有兩個文件A.cpp和B.cpp。在修訂版50中,我創建了一個名爲X的實驗分支。因此,在修訂版50中,主幹和分支X都相同。

我繼續在主幹上工作並添加C.cpp和D.cpp。然後我意識到A.cpp中存在一個錯誤,所以我修復了這個錯誤。

現在我的問題是如何發送更新A.cpp到分支X而不發送其他文件(B.cpp C.cpp D.cpp)?

回答

6

在分支的工作副本,合併是更新A.cpp修訂。或者,如果您沒有需要保留的本地分支更改,則可以從trunk中僅使用svn copy A.cpp並覆蓋本地A.cpp。

cd workingCopyOfX 
svn merge -r50:51 http://my.repo.com/trunk/A.cpp 

假設固定在R51

2

取決於您所在的平臺取決於界面中顯示的內容,但您應該只需右鍵單擊該文件並選擇合併即可,或者取消選擇您不想合併的文件接口。

如果您正在使用命令行環境,那麼您應該可以運行svn merge並輸入文件名。

更多細節(雖然老,我相信他們仍然是相關的),可以發現here

1

做出有很可能許多方法,但我覺得更容易做到這一點是這樣的:

  1. 進入到一個新的(未修改)工作副本目標(X分支)
  2. 將整個修訂從源(中繼)合併到您的工作副本中
  3. 檢查局部變化:恢復不需要改變的文件,也許做一些手工編輯在通緝文件
  4. 當你快樂,提交