電子書籍の厳選無料作品が豊富!

Subversionのリポジトリの履歴をパージ(履歴を消す)する方法がわかりません。方法を知っておられる方がおられたら、ご指導願いますでしょうか?
よろしくお願いします。

A 回答 (1件)

 基本的に任意のリビジョンを無かったことにすることはできませんが、誤ったコミットをした直後であれば、そこまでのダンプファイルを作って新しいリポジトリを再構築することが可能です。

 いずれにせよリスクの伴う作業なので、元のリポジトリは大切に保存して、コピーしたリポジトリで行ってください。

 コピーしたリポジトリを 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/1165141 …
SVNの使い方は下記のURLを参考にしてください。
http://subversion.bluegate.org/doc/book.html

注意!
 そのリポジトリの利用者があなたしかい場合はよいのですが、他に利用者がいる場合は、利用者すべてに対してコミットにないように連絡し、リポジトリの再構築後に作業コピーを再構築してもらうようにしなければなりません。
    • good
    • 0
この回答へのお礼

o_jijiさん
回答ありがとうございました。
この方法で試してみます。
本当にありがとうございました。

お礼日時:2007/11/02 11:04

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!