2010-12-02 6 views
2

私は数週間前にトランクから分岐しました。いくつかのディレクトリを移動することを含め、ブランチにいくつかの変更を加えました。ディレクトリ移動の変更をコミットしてトランクに戻しました(将来のリビジョンのためにブランチに残っているその他の変更)。TortoiseSVNが私にツリーの衝突を与えています

今、トランクの変更をブランチにマージして、将来のリビジョンの開発を継続したいとします。リポジトリの前後のマージをタグ付けし、最初のマージをトランクにコミットしたときにマージしたことを記録しました。私はマージされたリビジョン#を私のリビジョンとして、最新のリビジョン(現在はHEADになっている)をリビジョンとして使用しました。

今日のマージは、以前に移動されて正常にマージされたディレクトリのツリー競合を含む競合で満たされました。再配置されたディレクトリ内に変更や新規追加があるため(これは古い場所とは関係ありません)、これは問題です。

どうしたのですか?

+0

トランクからのすべての変更でブランチを更新するには、* From *と* To *リビジョン番号を省略できます。少なくともあなたのバージョンのsvnがマージトラッキング(1.5で導入)をサポートしている場合。 –

+2

また、変更をトランクにマージしたと言ったときに、* reintegrate *マージを行いました。このようなマージ後、ブランチはもう使用しないでください。 –

+0

私は簡単なルートを取って終わった。ブランチ変更をトランクにマージする前にトランクの変更をマージすることを怠っていたので、新しいブランチを作成し、他のブランチからの未解決の変更をマージする方が簡単だと思いました。私はまだいくつかの矛盾がありました。(マージコードはまだまだ怪しいですが、いくつかの非常に明白な変更から矛盾を作り出していたようですが)簡単にソートされました。 – babzog

答えて

0

問題はSVNが1つの方法でしかマージしないことを知っています。マージ後にコミットするツリーは、マージされていることがわかります(1.5以降)。 私の意見では、SVNはブランチからトランクにマージされたブランチを変更しようとしているので、あなたは競合しています。 --record-onlyでブランチからマージされたトランクに最初にコミットを試みてください。 レコードのみは、merge-infoプロパティをマージしません。そのマージの後(そしてブランチにコミットする)、あなたはトランクから別のコミットをマージできるはずです。

関連する問題