(2010-01の一覧)
01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
2010-01-11 Mon (他の年の同じ日: 2005 2006)
(svndumpfilter)コミットの取り消し
2010-01-11-1 / カテゴリ: [svn] / [permlink]
前提省略して実際にやってみた。
リポジトリのリビジョンの取り消しより
使うコマンド
直前の1リビジョンのコミットを全てなかったことにするのであれば、YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編のとおり、dump/load でいける。でも、特定のファイルのみをなかったことにするには dump/load のみでは対応できない。ここで svndumpfilter を使って、ダンプデータにパスでフィルタリングをかける。
これで、/foo/bar/baz 以下がなかったことになる。
3,4,5 はパイプで一撃でもいける
クライアント側は update/commit や、クリーンアップではなかったことにできなかった。よくわからなかったので、ファイルシステム上から単に削除した(^^;
参考
svndumpfilter: 気の向くままに・・・
リポジトリのリビジョンの取り消しより
TortoiseSVN は決してデータを失わないため、「巻き戻した」リビジョンはまだ中間リビジョンとして存在しています。HEAD リビジョンが以前の状態になっただけです。すべての痕跡を削除して、リポジトリから完全に見えなくする場合は、もっと極端な手段を採らねばなりません。これは本当に十分な理由がなければ、お勧めしません。考えられる理由としては、誰かが公開リポジトリに機密文書をコミットしたなどでしょう。
リポジトリからデータを削除する唯一の方法は、Subversion コマンドラインツールの svnadmin を使うことです。この実行方法の説明は、Repository Maintenance にあります。(訳注: 日本語訳は Subversion によるバージョン管理 にあります)
使うコマンド
直前の1リビジョンのコミットを全てなかったことにするのであれば、YappoLogs: 悪のりで学ぶsvnadmin/trac入門実用編のとおり、dump/load でいける。でも、特定のファイルのみをなかったことにするには dump/load のみでは対応できない。ここで svndumpfilter を使って、ダンプデータにパスでフィルタリングをかける。
1. 現リポジトリの退避
$ cd /path/svn $ mv repos repos.org
2. 元と同じ名前で空リポジトリの作成(フィルタ結果をここに置く)
$ svnadmin create repos
3. リポジトリのダンプ
$ svnadmin dump repos.org > repos.dump
4. ダンプのフィルタリング
$ svndumpfilter exclude '/foo/bar/baz' < repos.dump > repos.dump.newパスはリポジトリにおけるフルパス指定
5. フィルタ結果のリストア
$ svnadmin load repos < repos.dump.new
これで、/foo/bar/baz 以下がなかったことになる。
3,4,5 はパイプで一撃でもいける
$ svnadmin dump repos.org | svndumpfilter exclude '...' | svnadmin load repos
クライアント側は update/commit や、クリーンアップではなかったことにできなかった。よくわからなかったので、ファイルシステム上から単に削除した(^^;
参考
svndumpfilter: 気の向くままに・・・
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12