質問: svnでファイルを古いリビジョンに戻す方法 私の仕事では、svnを使用しています。 windowspcでtortoisesvnをwindowsシェル/エクスプローラー拡張機能として使用しています。私はsvnで* .cソースファイルを維持していました。同僚の1人が私のバージョンに加えていくつかの変更を加えてチェックインしましたが、彼のすべての変更を完全にテストする必要がありました。その結果、特定のテストケースでコードが壊れています。彼は、svnの変更をチェックインしている間、それを適切にマージしなかったため、この破損が発生したと述べました。なんでも!このファイルを更新する他のチームがあるので、これは彼らの仕事を壊すでしょう。 この特定のファイルを古い作業リビジョンに戻すコマンドは何ですか? (彼はローカルで彼の変更を持っているので、私はそれについて気にしません) これを行うための直接のコマンドがない場合、この混乱から抜け出す方法は何ですか。 私が読んだとき、私は何か「逆マージ」について聞いた。それは正確には何ですか、そしてそれは私を助けますか?
回答: これが逆マージです。それはあなたが望むものを手に入れるでしょう。 必要なリビジョンと間違っているリビジョンを作業コピーパスにマージします。 コードをテストする ファイルをリポジトリにコミットします これで修正されたリビジョンがありますが、壊れたものはリポジトリに残ります。マージコマンドは、最初のソース、2番目のソース、作業コピーパスの3つのパラメーターを取ります。ロールバックしているため、2つのソースのパスは同じですが、リビジョン番号が異なります。大きい方のリビジョン番号が最初になります。コマンドラインの例:merge svn://example.com/repo/folder/changedfile.txt@head svn://example.com/repo/folder/changedfile.txt@215 ./folder/changedfile.txttortoisesvnの[ログの表示]ボタンを使用すると、リビジョンを簡単に見つけることができます。