2012-03-07 8 views
2

ブランチの1つに変更を加えました。今私はこれらの変更をトランクにマージしようとしています。これを行うために私はBRANCHとTRUNKというマシン上に2つの作業フォルダを作成しました。私はBRUNCHディレクトリにブランチのsvn coを、TRUNKフォルダにトランクのsvn coを作成しました。チェックアウトが完了したら、私は先に進み、私がブランチで行ったすべてのチェックインの転覆履歴を開いた。私はすべての私のチェックインのバージョン番号を持ったら、私は私のTRUNKフォルダ内に行って、次のコマンドを発行:Subversionとintellijを使用してブランチでトランクをマージする

svn merge --dry-run -r1xx0:1xx1 svn+ssh://pathtomybranch/ 

面白いことは、上記のコマンドは、基本的に私の枝を示す任意の出力、なしで実行されるということです私のバージョンには違いはありません。私がマージしようとしているバージョンのファイルの内容が異なるので、これは不可能です。

誰かがここで間違っている可能性についていくつかのアイデアを持っていますか?あなたが最初の変更がブランチ以来トランクに行われていない場合は(あなたがこのステップを省略することができますが、ブランチを作成しましたので、トランクに行われたすべての変更でブランチを更新する必要が

おかげ

答えて

5

)作成されました:

cd branch 
svn merge url://of/trunk 

その後、あなたは二つの同一の()メソッドのいずれかを選択することができます?

1)は、ブランチを再統合し使用します。

cd trunk 
svn merge --reintegrate url://of/branch 

または2)2つのツリーの間で合流する使用します。方法2

cd trunk 
svn merge url://of/trunk url://of/branch 

)2つのツリー間の違い「トランク」と「ブランチ」を計算し、バックトランクで、現在のディレクトリ()にそれらをマージします。

方法1)は方法2)の文法的なsuggarです。

どちらの方法も、リビジョン番号を指定する必要がないことに注意してください。最近のすべてのバージョンのSVNが自動的にそれを処理します。

+0

その時点でブランチはまだ使用可能ですか?それは生き続けますか? –

+1

ブランチは、トランクで再統合した後に削除する必要があります。これがなぜ必要なのかの詳細な説明については、bit.ly/1dAQs3Aを参照してください。また、再統合後にそれを生かし続ける方法を説明します。 – stmax

+0

このキープアライブ方法は安全で意味がありますか? –

関連する問題