いくつかのリビジョンでの変更を取り消す場合、断然簡単なのはリビジョンログダイアログを使用する方法です。
変更を取り消す必要のあるファイルやフォルダーを選択してください。すべての変更を取り消す場合は、トップレベルフォルダーを選択してください。
→ を選択してリビジョン一覧を表示します。参照したいリビジョンを表示させるために、必要に応じて や を使用してください。
変更を取り消したいリビジョンを選択してください。リビジョン範囲を取り消すのなら、最初のものを選択してから、Shift キーを押したまま最後のものを選択してください。複数のリビジョンやその範囲を選択する場合は、Ctrlキーを押しながらリビジョンを選択してください。選択したリビジョンで右クリックし、 → を選択してください。
もしくは、もっと古いリビジョンを HEAD リビジョンにしたい場合は、選択したリビジョンの上で 右クリック し、 → を選択してください。これにより、選択したリビジョン以降の変更がすべて取り消されます。
変更の取り消しは作業コピーに対して行われます。結果を確認し、変更をコミットしてください。
リビジョン番号のリストを入力して指定する場合、マージダイアログを使用することもできます。前の方法では暗黙にマージが使用されましたが、この方法では明示的にマージを使用します。
作業コピーで
→ を選択してください。マージタイプダイアログの中で、リビジョンの範囲をマージを選択してください。
マージ元のURLフィールドに、作業コピーのフォルダーに対応するリポジトリの完全なURLを入力してください。デフォルトでURLが入力されているはずです。
マージするリビジョンの範囲フィールドに、変更を取り消したいリビジョン番号のリストを入力してください(または、上記の方法と同様にログダイアログを使用して選択してください)。
逆マージチェックボックスがチェックされていることを確認してください。
マージオプションダイアログはデフォルトのままにしてください。
をクリックするとマージを完了します。
作業コピー内の変更が取り消されました。結果が期待通りかどうかを確認し、変更をコミットしてください。
TortoiseSVN は決してデータを失わないため、「ロールバックした」リビジョンはまだ中間リビジョンとして存在しています。 HEAD リビジョンが以前の状態になっただけです。すべての痕跡を削除して、リポジトリから完全に見えなくする場合は、もっと極端な手段を採らねばなりません。これは本当に十分な理由がなければ、お勧めしません。考えられる理由としては、誰かが公開リポジトリに機密文書をコミットしたなどでしょう。
リポジトリからデータを削除する唯一の方法は、Subversion コマンドラインツールの svnadmin
を使うことです。この実行方法の説明は、Repository Maintenance にあります。