フォルダを見ると、各リビジョンが別々のファイルとして保存されていることがわかるので、サイズを確認できます。それらのファイルのそれぞれは、本当に小さくすべきであるように、チェックインの間にデルタまたは差分を実際に格納しています。
SVNのそれ以降のバージョンでは、1つのフォルダ内のすべてのファイルを1つの大きなファイルにまとめた 'svnadmin pack'コマンドを実行できます。これは、OSが1つのファイルをより良くキャッシュできるようにパフォーマンスを向上させますが、フルの古いフォルダ、つまり追加されない古いフォルダでのみ機能します。その実行は安全ですし、好きなだけ実行することができます(チェックインごとに実行する人もいれば、毎週または毎月実行する人もいます)。
各ファイルに以前のリビジョンとの相違点だけが表示されているので、古いファイルを削除することはできません。したがって、古いファイルを削除した場合、SVNは、時間の経過と共にすべての変更に基づいて合計ファイルを作成します。
これには少し複雑です。 SVNはskip-deltasというものを使用しています。これは以前のすべての相違点のロールアップを格納する 'チェックポイント'です。これはパフォーマンスが大幅に向上することを意味します。ただし、各ファイルを再作成できることがわかっていない限り、古いファイルを削除することはできません(実際のチェックインが各ファイルに何回発生したかは分かりません)。
..だからあなたの質問に答えるために取得する:
あなたは古代のファイルを無視して、リポジトリをダンプして読み込むことができます。これには、svnadmin dumpコマンドとsvnadmin loadコマンドが含まれます。 You dump the repo into a dumpfile最後の5つのリビジョン番号のみを使用し、ダンプファイルを新しいレポにロードします。 (私は日付に基づいてダンピングのオプションもあると思う)。
各ファイルの最新の5つのリビジョンを保持することはできません。リビジョンの範囲をダンプすることしかできません。
明らかにこれは手動の管理タスクであり、通常は誰も見られない古代のリビジョンを削除するために使用されます。自動「最後の5つのリビジョンを維持する」オプションはありません。 リビジョンを削除する必要はありませんが、SVNはパフォーマンスを速く保ち、デルタが小さいので、履歴を削除する必要はありません。実際にディスク容量が不足している場合は、ダンプ/ロードオプションが最適です。
SVNにはすべてのリビジョンの完全コピーが保存されておらず、相違点のみが保存されています。だから私はあなたが何を記述しているのか分からない。 –
また、表示されている '1000'は、そのフォルダ内のリビジョンの実際の数ではありません。ファイルシステム内のSVN "シャード"リビジョンは、SVNがリビジョン番号687を処理する必要がある場合、 '1000'フォルダを参照する必要があることをSVNが容易に知る方法です。リビジョン番号3465、それは '3000'フォルダを見るはずです。等々。 –