コミットするつもりがなかった特定のファイルをリビジョン履歴から削除しようとしています。誰かがこれを行う方法を提供できますか?
3 に答える
ツールを使用する必要がありsvndumpfilter
ます。この手順には、リポジトリのダンプ、ダンプファイルのフィルタリング (を使用svndumpfilter
)、および結果の新しいリポジトリへのリロードが含まれます。詳細については、SVNBook のこの章を参照してください。
svndumpfilter によるリポジトリ ダンプのフィルタリング以外に、リポジトリ内の特定のファイルとフォルダを削除できる別のソリューションがあります。Apache Subversion の FAQ エントリ「リポジトリの履歴からファイルを完全に削除するにはどうすればよいですか?」を参照してください。.
このソリューションでは、次の手順を実行する必要があります。
リポジトリ履歴から削除するファイルまたはフォルダーのPATHSへのユーザー名の読み取りアクセスを拒否するパスベースの承認規則をセットアップします。複数の名詞パスに注意してください。削除したいファイルまたはフォルダーは、名前が異なるか、リポジトリ履歴の異なる場所にある可能性があります。拒否ルールを設定するときは、これを考慮してください。
空のリポジトリを作成し、
- ツールを使用
svnsync
して、ソース (元のリポジトリ) リポジトリをターゲット リポジトリにアカウントUSERNAMEで同期します。svnsync を使用したリポジトリ レプリケーションの詳細については、SVNBook の章「リポジトリ レプリケーション」を参照してください。
とは異なりsvndumpfilter
、svnsync
は読み取り不能なソース パスを使用したコピー操作を通常の追加に自動的に変換します。これは、コピー操作に関連する履歴をフィルタリングする必要がある場合に役立ちます。
リビジョン履歴を削除することはできません。