Subversion リポジトリに保存されているソフトウェアをプログラミングしているときに、いくつかのファイルを変更すると、メインの作業のために準備的な変更を加えたいことに気付くことがよくあります。たとえば、新しい機能を実装しているときに、役立つ可能性のあるリファクタリングがあることに気付くことがあります。
無関係な 2 つの変更が混在しないように、このような場合には、変更を「保管」します。つまり、リポジトリ バージョンに戻して、他の変更をいくつか行い、それらをコミットしてから、変更を「取り戻す」ようにします。
git スタッシュまさにそれが可能です。Subversion で直接、またはプラグインやスクリプトを使用してこれを行う方法はありますか。Eclipse プラグインでも問題ありません。
ベストアンサー1
このブログ投稿diff と patch の使用を推奨します。
git stash
おおよそsvn diff > patch_name.patch; svn revert -R .
git stash apply
なるpatch -p0 < patch_name.patch
これはメタデータの変更や (おそらく) ディレクトリの作成/削除を保存しないことに注意してください。 (はい、git とは異なり、svn はディレクトリの内容とは別にそれらを追跡します。)