Subversion でコミットされていない変更を一時的に保存する (「git-stash」のように) 質問する

Subversion でコミットされていない変更を一時的に保存する (「git-stash」のように) 質問する

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 はディレクトリの内容とは別にそれらを追跡します。)

おすすめ記事