13

同じプロジェクトの 2 つの作業コピーがあり、それぞれが別のブランチに切り替えられました。あるプロジェクトのローカルの変更を他の作業コピーにマージすることはできますか?

4

3 に答える 3

17

2つの別々の作業コピーをマージすることはできませんが、実行できることがいくつかあります。

既存のファイルに変更が加えられた場合、最も簡単な方法は、を使用してパッチを作成し、svn diffそのパッチを他の作業コピーに適用することです。例えば。最初の作業コピーでは、次のようにします。

svn diff > patch

そして、もう一方に適用します。

patch -p0 < patch

そしていつものように、それが最初に機能することを確認patchする--dry-runオプションを使用して実行する必要があります。

ただし、ブランチのファイルレイアウトが同じでない場合は、パッチを適用して適用することはできません。この場合、あなたがする必要があるのは、最初に他のローカルの変更をコミットしてから、svn merge通常どおりに使用することです。

于 2010-08-25T09:39:14.670 に答える
3

1 つの作業コピー ( )にパッチを作成し、svn diffそれを別の作業コピー ( ) に適用できますpatchhttp://ariejan.net/2007/07/03/how-to-create-and-apply-a-patch-with-subversion/

于 2010-08-25T09:34:31.780 に答える
1

変更に削除が含まれている場合、GNU パッチを使用しても問題は解決しません。変更を両方のブランチにコミットする場合は、一方にコミットしてから、svn でそれらの変更をもう一方のブランチにマージします。ブランチ A で変更を行い、代わりにブランチ B でそれらが必要な場合、svn はブランチ A の作業コピーをブランチ B に切り替えます。

于 2011-11-18T20:11:03.497 に答える