次のシナリオがあります。svnの特定の変更セットをマージする "元に戻す"方法
1)リポジトリのローカルコピーを取得します。
2)私がしたくない変更セットを元に戻す(リビジョン120)。 svn merge -c -120。
3)私の仕事はファイルを修正しますか?
4)(3)からのすべての変更を元に戻すことなく、(2)で行ったことを元に戻したいと思います。それはsvnで可能ですか?
私は問題がある場合には、Subversion 1.5.2を使用しています。
次のシナリオがあります。svnの特定の変更セットをマージする "元に戻す"方法
1)リポジトリのローカルコピーを取得します。
2)私がしたくない変更セットを元に戻す(リビジョン120)。 svn merge -c -120。
3)私の仕事はファイルを修正しますか?
4)(3)からのすべての変更を元に戻すことなく、(2)で行ったことを元に戻したいと思います。それはsvnで可能ですか?
私は問題がある場合には、Subversion 1.5.2を使用しています。
svn merge -c -X
は、(2)で作成したリビジョンで呼び出すことができます。
svn diff >saved.diff
svn revert -R .
svn merge -c -X
patch -p0 <saved.diff
あなたはsvn merge -c 120
を行うことができます(3)あなたがコミットされていない作業ツリーの変更を持っている意味することにより場合、あなたはこのような何かを行うことができます。これは(2)で行われたsvn merge -c -120
を完全に元に戻します。
それは私が考えたものです。しかし、それはしません。実際には何もしないようです。 (BTW、Subversionコマンドラインクライアント、バージョン1.5.2を使用していますが、それが重要かどうかはわかりません...) –
はい、コミットされていない作業ツリーに変更があることを意味します。 –
saved.diffに希望の変更とステップ(2)の変更が含まれていませんか?したがって、私はこれらの4つのコマンドが、私がどこにいたのか、私を元に戻すことになると思います。 –
あなたが正しいです、私はあなたがマージをコミットしていないことを認識していません。 –