同じプロジェクトの 2 つの作業コピーがあり、それぞれが別のブランチに切り替えられました。あるプロジェクトのローカルの変更を他の作業コピーにマージすることはできますか?
3 に答える
2つの別々の作業コピーをマージすることはできませんが、実行できることがいくつかあります。
既存のファイルに変更が加えられた場合、最も簡単な方法は、を使用してパッチを作成し、svn diff
そのパッチを他の作業コピーに適用することです。例えば。最初の作業コピーでは、次のようにします。
svn diff > patch
そして、もう一方に適用します。
patch -p0 < patch
そしていつものように、それが最初に機能することを確認patch
する--dry-run
オプションを使用して実行する必要があります。
ただし、ブランチのファイルレイアウトが同じでない場合は、パッチを適用して適用することはできません。この場合、あなたがする必要があるのは、最初に他のローカルの変更をコミットしてから、svn merge
通常どおりに使用することです。
1 つの作業コピー ( )にパッチを作成し、svn diff
それを別の作業コピー ( ) に適用できますpatch
。
http://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/
変更に削除が含まれている場合、GNU パッチを使用しても問題は解決しません。変更を両方のブランチにコミットする場合は、一方にコミットしてから、svn でそれらの変更をもう一方のブランチにマージします。ブランチ A で変更を行い、代わりにブランチ B でそれらが必要な場合、svn はブランチ A の作業コピーをブランチ B に切り替えます。