Subversion で直前のコミットを取り消し,なおかつ Trac も同期する方法
2007-01-18-1: [Subversion][Trac]
勢い余ってコミットしたはいいけど,恥ずかしい間違いがあってコミットをなかったことにしたい場合の対処方法です.
対象のリポジトリ | /svn/foo |
現在のリビジョン | 100 |
直前のリビジョン | 99 |
対象の Trac 環境 | /trac/foo |
1. 取り消したいリポジトリをディレクトリごとバックアップする
$ mv /svn/foo /svn/foo.bak
2. 同名のリポジトリを作成する
$ svnadmin create /svn/foo
3. バックアップしたリポジトリから直前までのリビジョンをダンプして,新しく作ったリポジトリにロードする
$ svnadmin dump -r 0:99 /svn/foo.bak | svnadmin load /svn/foo
これで,リビジョン 99 までのリポジトリが完成します.
4. Trac と同期する
$ trac-admin /trac/foo resync
以上,はてブしておいた記事がそのまま役に立ちました.ふー.
- YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編
http://blog.yappo.jp/yappo/archives/000477.html
- ref.: svnadmin dump
http://subversion.bluegate.org/doc/re33.html
- ref.: svnadmin load
http://subversion.bluegate.org/doc/re38.html