2009-05-19 1 views
3

私はちょうどマージしました、そして、それは私がそれを期待した方法に逆に働くように思えました。私はそれが間違っていたのか、それともこれが既知の「問題」かどうか疑問に思いますか?はsvn-merge backwardsですか?

私は実験にやるとバックトランクにそれをマージしたいものは何でも行っていた2本の枝実験/トランク

を持っていました。 Tortoiseを使って、Experiment-> Mergeを右クリックしました。私はMerge Two Treesを選択しました。それはそれでした(デフォルトでは他のすべてを残しました)。 Merge [実験]リビジョンヘッド [トランク]リビジョンヘッド

問題はトランクに適用されませんでした...実験に適用されました... so実験は私の「トランク」でした。これは間違いなく私が望んでいたものとは逆です。

今、私はトランクにsvn-deleteとsvn-copyを実行してExperimentの内容をトランクに戻して修正しなければなりませんでしたが(将来は私の言うとおり)作業?

答えて

4

作業コピーが「実験」にある場合は、その結果がマージの結果になります。

差出人は、適用されるdiffを作成する方法です。つまり、「x」から「y」までの差分を計算して作業コピーに適用します。

TortoiseSVNのヘルプはこれを非常にうまく説明しています。

1

私はあなたが欲しいものをカバーしていa questionがあります「とは、2つの異なるツリーをマージ」ではない

「ブランチを再統合」を選択したいと思います

+0

問題は私が立ち往生していることです...「支店」には多数の修正が加えられていて安定していましたが、トランクは作業が完了し安定していませんでした。私はトランクに安定したブランチをマージしたいと思っていました。論理的には、トランクは「実験的」であり、ブランチは「安定」でした。このため、「ブランチの再統合」は適切ではないと私は考えました。 –

2

にマージしないでください。からどこかにマージしてください。

つまり、あなたのトランクの作業フォルダ内にあること、そしてあなたが実験からをしたいリビジョンの範囲をマージする必要があります。

3
  1. あなたがトランクの作業コピーにマージを実行する必要がトランクにマージしたい場合。マージによってローカル編集が生成され、チェックインする必要があります。したがって、マージ対象は作業コピーでなければなりません。

  2. あなたは "TO"と "FROM"を誤解しています。

    2つのURLマージでは、Subversionに "FROM"を "TO"に変換するのに必要な変更を計算し、その変更を作業コピーに適用するよう求めています。

あなたの場合、「FROM」実験「TO」トランクを取得するために必要な変更を計算し、それらを実験の作業コピーに適用するようサブバージョンに依頼しました。これにより、あなたのExperimentブランチのローカル作業コピーの内容がTrunkと同じになります。これはSubversionに依頼したものですから。

マニュアルを読むことをお勧めします。

関連する問題