7

SVNの要点は、何かを永久に削除できないことであり、私の質問は「永久削除」機能などに関するものではないことを認識しています。

コードが誤って SVN レポジトリにコミットされていることに気付きました。これは別の会社に属するコードであり、法的な影響が出る前に、このコードを完全に削除する方法を考え出す必要があります。

注 1: それ以来、他のコード リビジョンがありました。

注 2: 削除する必要があるすべてのコードは、1 つのフォルダーに含まれています。

注 3: SVN は、クラウド (アトラシアン) のサード パーティでホストされています。

私が今考えている方法は次のとおりです。

  • すべてのリビジョンの SVN ダンプを実行し、ローカルに復元します
  • ホストされている SVN 内のすべてのデータを「削除」します (どうすればそれを行うことができますか?)
  • 次に、問題のフォルダーを除外するフォルダーごとにリビジョンを同期します。過去にフォルダーに基づいてリビジョン履歴をインポートしたことがあるので、これが可能であることはわかっています。

簡単な方法がない場合、SVN サーバー全体を削除/空にするか、新しいサーバーを作成して現在のサーバーを置き換えるにはどうすればよいですか? 繰り返しますが、私たちの SVN はサード パーティによってホストされているため、サーバー自体のファイル構造にアクセスすることはできませんが、SVN コマンドに依存する必要があります。

4

2 に答える 2

2

svndumpfilterは、1 つ以上の名前付きプレフィックスで始まるパスを除外または含めることによって、Subversion ダンプ ファイルから履歴を削除するためのコマンド ライン ユーティリティです。

基本的に、リポジトリの完全なダンプを作成し、そこから不要なフォルダーを除外し、残りを新しいリポジトリとしてインポートする必要があります。ただし、リポジトリはサードパーティによってホストされているため、最初にそのようなリポジトリへのアクセスを手配する必要があると思います (サードパーティがそのためのインターフェイスを既に提供していない限り)。

于 2012-07-06T13:45:01.667 に答える
0

プランの 1 と 3 については、便利な svnrdump ユーティリティが見つかるかもしれません。svnadmin と同じように "dump" と "load" コマンドがありますが、リモート リポジトリを操作できます。

于 2012-07-06T14:07:51.593 に答える