- 締切済み
Subversion 履歴のパージ方法
Subversionのリポジトリの履歴をパージ(履歴を消す)する方法がわかりません。方法を知っておられる方がおられたら、ご指導願いますでしょうか? よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- o_jiji
- ベストアンサー率50% (1/2)
基本的に任意のリビジョンを無かったことにすることはできませんが、誤ったコミットをした直後であれば、そこまでのダンプファイルを作って新しいリポジトリを再構築することが可能です。 いずれにせよリスクの伴う作業なので、元のリポジトリは大切に保存して、コピーしたリポジトリで行ってください。 コピーしたリポジトリを tmp とすると下記のようにしてダンプファイルを作成します。 最後の誤ったコミットのリビジョンを 10 とします。 Windows のコマンドプロンプトを使用して全てカレントフォルダーでの作業を想定して説明します。 svnadmin dump tmp -r1:9 > dumpfile これで、リビジョン1から9までのコミットの経過がテキストファイルとして dumpfile に出力されます。 次に新しいフォルダ new を作成し、これをリポジトリにします。 md new svnadmin create new ここに先ほどの dumpfile を使ってリビジョン1から9までの内容を再構築します。 svnadmin load new < dumpfile ただし、この方法はあくまで最後のリビジョンに対してだけ有効です。 通常は、svndumpfilter exclude を使って特定のファイルやフォルダを除外したダンプファイルを作成し、先ほどのようにリポジトリを再構築します。 なお、この方法ではリビジョンそのものを無かったことにはできません。 svndumpfilter の使い方などは書きのURLが簡潔に説明してあります。 http://d.hatena.ne.jp/shogo4405/20061203/1165141404 SVNの使い方は下記のURLを参考にしてください。 http://subversion.bluegate.org/doc/book.html 注意! そのリポジトリの利用者があなたしかい場合はよいのですが、他に利用者がいる場合は、利用者すべてに対してコミットにないように連絡し、リポジトリの再構築後に作業コピーを再構築してもらうようにしなければなりません。
お礼
o_jijiさん 回答ありがとうございました。 この方法で試してみます。 本当にありがとうございました。