web-dev-qa-db-ja.com

ブランチをトランクにマージする

SVN mergeに特有の問題に直面しています。開発ブランチからトランクにマージしたい。複数のdevブランチが同時にトランクを切断します。

このコマンドを使用して、これらのブランチの1つをトランクにマージしています。

svn merge trunk branch_1

このブランチの一部ではない変更が表示され、トランクにマージされます。私は何を間違えていますか?

SVNバージョン:

Subversionコマンドラインクライアント、バージョン1.6.16-SlikSvn-tag-1.6.16@1076804-WIN32.

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本のマージに関する章 を参照してください。


それが書かれた時点で、これは正しい答えでした(そして受け入れられました)が、物事は進んでいることに注意してください。 topekの回答を参照してください http://Subversion.Apache.org/docs/release-notes/1.8.html#auto-reintegrate

210
blahdiblah

作業ディレクトリがトランクを指している場合、ブランチを次のものとマージできるはずです。

svn merge https://Host/repository/branches/branch_1

必ずトランクのルートディレクトリでこのコマンドを発行してください

73
topek

トランクでsvn updateを実行し、リビジョン番号に注意してください。

トランクから:

svn merge -r<revision where branch was cut>:<revision of trunk> svn://path/to/branch/branchName

Svn logを実行して、ブランチがトランクから切断された場所を確認できます。

svn log --stop-on-copy
16
Mike K.

構文が間違っています。代わりに

svn merge <what(the range)> <from(your dev branch)> <to(trunk/trunk local copy)>
1
lwpro2