我正面臨SVN merge
的一個特殊問題。我想從開發分支合併到主幹。 我們有多個開關分支同時切斷了後備箱。將分支合併到中繼
我合併這些分支機構與此命令幹路之一:
svn merge trunk branch_1
我看不是這個部門的部分修改,把合併到主幹。 我在做什麼錯?
SVN版本:
Subversion命令行客戶端,版本 [email protected]。
我正面臨SVN merge
的一個特殊問題。我想從開發分支合併到主幹。 我們有多個開關分支同時切斷了後備箱。將分支合併到中繼
我合併這些分支機構與此命令幹路之一:
svn merge trunk branch_1
我看不是這個部門的部分修改,把合併到主幹。 我在做什麼錯?
SVN版本:
Subversion命令行客戶端,版本 [email protected]。
您的svn merge
語法錯誤。
要檢出的trunk
工作副本,然後使用svn merge --reintegrate
選項:
$ pwd
/home/user/project-trunk
$ svn update # (make sure the working copy is up to date)
At revision <N>.
$ svn merge --reintegrate ^/project/branches/branch_1
--- Merging differences between repository URLs into '.':
U foo.c
U bar.c
U .
$ # build, test, verify, ...
$ svn commit -m "Merge branch_1 back into trunk!"
Sending .
Sending foo.c
Sending bar.c
Transmitting file data ..
Committed revision <N+1>.
有關詳細信息,請參閱SVN book chapter on merging。
請注意,在寫它的時候,這是正確的答案(並被接受),但事情已經開始。見topek的答案,http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate
在trunk中做一個svn更新,記下修訂號。
從後備箱:
svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName
您可以檢查其中的分支從樹幹做一個svn日誌
svn log --stop-on-copy
由於同時存在多個開發分支,所以這也不適用於我,這個命令也牽扯到其他分支的變化。可能這是SLik SVN客戶端的問題? –
雖然這不是不準確,但有更簡單的方法可以合併更新版本的'svn'(比如一個OP正在使用)。 – blahdiblah
如果你的工作目錄指向樹幹切割,那麼你應該能夠將你的分支合併到:
svn merge https://HOST/repository/branches/branch_1
一定要在根中發出這個命令您的中繼線目錄
爲我工作比其他選項更好,謝謝。 –
截至SVN 1.8。這是正確的答案。請參閱http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate – GreenAsJade
This!爲什麼複雜的事情?吻。很簡單;所以語法。 – ahnbizcad
的語法錯了,應該改爲
svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>
它不起作用。 – user1911
我知道這是不是一個答案,但如果你同時擁有幾個活躍的分支,那麼可能是你最好轉移到mercurial或git。 Ps:我不是一個狂熱者,我一直在svn工作了7年;-) – zerkms
它提供了什麼優勢?爲什麼轉向git或mercurial是更好的選擇? –
,因爲git和mercurial有更好的分支支持。優點:你不會問這樣的問題,並且在創建和維護分支時會少一些麻煩(目前我正在一個有1000多個分支的項目中工作,在svn中它是一個地獄) – zerkms