subversion
あるリポジトリ全体を任意のリビジョンに復旧する
普通にリポジトリ自体を変更するには、リバースマージをするしかないようだ(たぶん)。 しかし、複数のブランチを削除してしまった場合など、それらを含めたチェックアウトをしなくてはならなくなり、非常に面倒。 以下のようにする。
svnadmin create /svnroot/<repo>.fixed svnadmin dump -r 1:24 /svnroot/<repo> --incremental > dump.svn svnadmin load /svnroot/<repo>.fixed < dump.svn
ここでは、リビジョン24に戻している。つまり、いったん現状のリポジトリをリビジョン24までダンプし、新たなリビジョンを作成し、そこにダンプをロードするということ。