2011-07-26 16 views
9

私は最後のコミットを古いバージョンで "上書き"したいと思います。私はバージョン631をチェックアウトしようとしましたが、いくつかの変更を行い、バージョン633としてコミットしました。バージョン632が存在するので、svnは同意しません。古いバージョンのファイルを強制的に破棄するにはどうすればよいですか?

最も簡単な方法は何ですか? マルチファイルコミットメントです。私はそれを手動で行うのは嫌です。

答えて

8

代わりに631をチェックアウトするの、REVERT 631に続いて、あなたが変更とに確認することができないが

+1

ありがとうございます。これは動作します。ヘッドリビジョン(633)のチェックアウトを行いました。古いもの(631)に更新し、変更を適用してコミットします。これは機能します。 –

+0

私はいくつかのフォルダにSubversionを持っていたので、すべてのファイルを移動しました。私は自分の作品のバックアップを作成してから、問題の特定のフォルダだけを元に戻しました。私はこれらのフォルダ内のファイルを再帰的に使うために-Rを使いませんでしたが、フォルダ自体を元に戻しました。その後、すべてがうまくチェックインされ、私は戻ってフォルダーをクリーンアップし、正常にチェックした 'svn rm'を実行しました。リトルハイストレスの瞬間も...チップをありがとう! – GlenPeterson

+0

631に戻すにはどうすればいいですか? 'svn revert'はリビジョン番号を受け入れず、ヘルプページはコマンドがローカル変更を破棄するだけであることを示します。 –

2

あなたは、バージョン631に戻す操作を行うことができない場合は、次の手順を実行します。

  • ワークエリア外のどこかに変更を保存します。
  • 作業領域をバージョン632(HEAD)に更新します。
  • 作業領域に変更を再度適用します。
  • コミット。
+0

これは解決策の1つですが、手動でマージする必要があります。私はカーネルで作業しています。「あなたの作業領域の外にあなたの変更を保存する」は本当に面倒です。 –

6

の質問は少し古いですが、答えは今後の参考のために有用である可能性がある:

まあ、実際には、1がSVNに古いファイルをコミットすることになっていません。セキュリティ上の理由から、サーバー自体がこれらのファイルを拒否します。行うための ことの一つは、最後のバージョンから更新をすることですが、自動的にマージプロセス中にあなたの「時代遅れ」のファイルを保つ:

つまりsvn up --accept mine-full

が、これは更新を実行しますが、無視されます受信マージ。

+2

受信したマージを無視しても、削除されたとしてSVNにフラグが立てられていない不足しているファイルは復元されます。 – bkr

関連する問題