2011-06-29 42 views
3

當嘗試一個分支合併到主幹與遠程SVN合併

svn merge "$SVN_ROOT/[email protected]" "$SVN_ROOT/branches/[email protected]" 

我得到以下錯誤:

svn: '/' is not a working copy 

我需要一個工作副本?

+0

哦,我應該讀docs:「將兩個來源之間的差異應用於工作副本路徑。」;但可以遠程執行此操作嗎? –

回答

5

是的,你需要一個本地結賬。 我推薦以下步驟:

svn co https://foo.bar.com/subversion/project/trunk project 
cd project 
svn merge https://foo.com/subversion/project/trunk https://foo.com/subversion/project/branches/DEV 
svn st 

如果有任何衝突,你可以解決這些問題:

svn resolve 

提交更改:

svn commit -m "Merged DEV to trunk." 
1

是的,你確實 - 對不起。合併可能會引發你需要手動編輯和解決的衝突(加上我有一種感覺,diff/merge代碼只在svn客戶端而不是服務器上 - 但不是100%肯定的) 。所以,你需要退房,並在本地合併:

svn co "$SVN_ROOT/trunk" 
cd trunk 
svn merge "$SVN_ROOT/branches/foo" 
svn commit 

3

注意什麼svn merge命令執行:

SVN合併 - 兩個源之間應用差異一個工作的複製路徑。

您所使用的形式是

svn merge sourceURL1[@N] sourceURL2[@M] [WCPATH] 

[WCPATH]是可選的,省略時,它被假定爲.(當前目錄)。這就是你的情況。

http://svnbook.red-bean.com/en/1.5/svn.ref.svn.c.merge.html