2011-09-16 17 views
1

次のシナリオがあります。svnの特定の変更セットをマージする "元に戻す"方法

1)リポジトリのローカルコピーを取得します。

2)私がしたくない変更セットを元に戻す(リビジョン120)。 svn merge -c -120。

3)私の仕事はファイルを修正しますか?

4)(3)からのすべての変更を元に戻すことなく、(2)で行ったことを元に戻したいと思います。それはsvnで可能ですか?

私は問題がある場合には、Subversion 1.5.2を使用しています。

答えて

0

svn merge -c -Xは、(2)で作成したリビジョンで呼び出すことができます。

svn diff >saved.diff 
svn revert -R . 
svn merge -c -X 
patch -p0 <saved.diff 
+0

はい、コミットされていない作業ツリーに変更があることを意味します。 –

+0

saved.diffに希望の変更とステップ(2)の変更が含まれていませんか?したがって、私はこれらの4つのコマンドが、私がどこにいたのか、私を元に戻すことになると思います。 –

+0

あなたが正しいです、私はあなたがマージをコミットしていないことを認識していません。 –

1

あなたはsvn merge -c 120を行うことができます(3)あなたがコミットされていない作業ツリーの変更を持っている意味することにより場合、あなたはこのような何かを行うことができます。これは(2)で行われたsvn merge -c -120を完全に元に戻します。

+0

それは私が考えたものです。しかし、それはしません。実際には何もしないようです。 (BTW、Subversionコマンドラインクライアント、バージョン1.5.2を使用していますが、それが重要かどうかはわかりません...) –

関連する問題