他の多数のIT情報系Webサイトにも記載されているだろうけど、備忘のためにメモ。
Subversionでも、基本的に、記録されてしまった過去のrevisionを削除することはできない。が、「対象のrevisionを除いたリポジトリを新規に作成する」ことはできる。
(1)例えば「肥大化したリポジトリのShrink」が目的の場合
- svnadminでdumpする際に、残すrevisionの範囲を指定し、新規リポジトリにloadして、旧リポジトリと差し替える。
- revisionが振り直される。
- リポジトリ利用者全員に、Checkoutし直してもらう必要がある。
(2)例えば「誤って登録した機密情報の削除」が目的の場合
- svnadminでdumpする際に、svndumpfilterのexcludeオプションで、除外したいリソースパスを指定する。