2017-04-05 20 views
1

以下說明中,我試圖讓樹幹變成我的分支,使用以下命令:SVN撤併不是svnbook網站上的工作

cd <working directory to merge to> 
svn merge ^/<project-directory>/trunk 

,它似乎並沒有工作,因爲許多主幹的修改做不會在分支中結束。

我無論是從命令行TortoiseSVN的試了一下,都無濟於事。難道我做錯了什麼?

+0

你正在收到什麼錯誤? – PrestonM

+1

不知道你是如何嘗試在TortoiseSVN中做到這一點,但有一個* SVN合併*上下文菜單,導致與「URL合併」和「修訂範圍合併」等字段對話,以及「顯示日誌」按鈕來檢查確切的修訂版本。 (我推測你在幾年前並沒有使用SVN版本,在實施合併跟蹤之前)。 –

+0

@ÁlvaroGonzález合併跟蹤從2008年〜2008年開始在SVN 1.5中實施。我不認爲是這樣。 – bahrep

回答

-1

如果你想獲得對主幹的所有更改,你應該做的

svn merge -rLastRevisionMergedFromTrunkToBranch:HEAD url/of/trunk path/to/branch/wc 

來源:Merge trunk to branch in Subversion

+0

這不是答案,而只是對無關問題做出的另一個答案的複製粘貼。 – bahrep

0

我有點擔心,你有project-directory在這個例子後備箱的來源。

如果您位於要合併的分支的工作副本內,則應爲svn merge svn+ssh://url/of/repository/trunk .。源代碼不能是工作副本,但目標應該是。

如果是本地存儲庫,則可以使用file://而不是svn+ssh,並從URL中省略域名。

0

首先,問題和問題與TortoiseSVN沒有真正的關係。這是關於svn.exe command-line client that you use to run svn merge command。請仔細閱讀SVNBook | svn merge reference,因爲您運行的命令缺少必要的參數。

現在,我看到兩個問題命令行:

  • 您使用caret notation ^ to address the repository,但在Windows計算機上,必須添加兩個尖括號,而不是隻有一個:

    的Windows用戶不應該忘記他們的平臺上的脫字符 。因此,如果在Windows計算機上運行 Subversion客戶端,請使用雙脫字符^^。

  • 命令行缺少合併目標路徑。您應該指定運行合併操作的工作副本的路徑。

我希望這個例子可以幫助:

svn merge ^^/<project-directory>/trunk . 

注意點字符。它指示合併到當前目錄中。如有必要,將點替換爲工作副本的路徑。

+1

最好只使用雙引號。例如:svn合併「^//trunk」。 –

+0

是的,我通常添加2個插入符號;我剛剛在問題中顯示了1個脫字號,因爲它是如何在svn-book中顯示的。 – IntelliData

+0

哦,我的印象是,如果我導航到工作副本,那麼不需要在合併中指定它。我想這肯定是我的錯誤;下一次我需要做一個合併,我會嘗試;如果有效,我可以接受答案。 – IntelliData