1. ホーム
  2. svn

[解決済み] ブランチをトランクにマージする

2022-07-23 09:09:32

質問

SVN で奇妙な問題に直面しています。 merge . 開発ブランチからトランクにマージしたいのです。 複数の開発ブランチが同時にトランクから切り離されているのです。

そのうちの1つのブランチをこのコマンドでtrunkにマージしています。

svn merge trunk branch_1

このブランチの一部ではない変更が trunk にマージされているのを見ます。 私は何を間違えているのでしょうか?

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


なお、書かれた当時はこれが正解だった(受け入れられた)のですが、状況は変わってきています。 topekの回答を参照し http://subversion.apache.org/docs/release-notes/1.8.html#auto-reintegrate