2016-03-25 12 views
0

これが可能かどうかは不明ですが、最近大量のデータが無意識にSubversionにチェックインされました。チェックインされたデータは完全に削除されます。バージョン管理では、「削除」してもリポジトリにコミットすると、以前のバージョンとして残っています。オプションはありますか?最近チェックインしたバージョンをSubversionのソース管理から削除する

+2

唯一の方法は、データをダンプ、フィルタリング、ロードすることです。このような他の質問と答えが必要です。 – crashmstr

答えて

-1

それが複雑ビット(http://subversion.apache.org/faq.html#removal)ですが、オプションが、あります:

どのように私は完全にリポジトリの履歴から、ファイルを削除しますか?

ファイルまたはコミットのすべての証拠 を破棄する特別なケースがあります。 (恐らく誰かが偶然 機密文書を犯したのかもしれません)。これは簡単ではありません。なぜなら、Subversionは故意に情報を失うことのないように です。改訂は 相互に構築された不変の木です。 履歴からリビジョンを削除すると、後ですべてのリビジョンに混乱が生じ、すべての作業コピーが無効になることがあります。

しかし、このプロジェクトでは、いつでもsvnadmin obliterateコマンドを実装して、恒久的に という情報を削除するという計画を立てています。一方

(問題516を参照してください)、あなたの唯一の頼みの綱はかけませんを通じてパイプダンプファイルを( 悪いパスを除く)のsvnadmin loadコマンドに、次にあなたの リポジトリをダンプsvnadminのことです。詳細については、 Subversionの書籍の第5章を参照してください。

別の方法として、svnsync を使用してリポジトリを複製し、読み取りアクセスを拒否するパスベースの認可ルールを設定した後に、履歴からフィルタリングする必要のあるパスに を指定します。 svndumpfilterとは異なり、svnsyncは、コピー操作を含むヒストリがフィルタリングされる必要がある場合は、 を読み取り不可能なソースパスで自動的に通常の追加に変換します。これは便利な です。

+0

削除するためのsvndumpfilter ** changeset ** ?! LOL、RTFMよ! –

+0

チェンジセットが他の変更に影響を与えない場合、彼はリビジョンをスキップして新しいレポにダンプを読み込むだけで 'svnadmin dump'することができます。 – bahrep

関連する問題