seperti kata Hubert, svnadmin pack
akan mengemas semua file repo individu dalam direktori menjadi satu file besar. Ini akan menghemat ruang, tetapi itu hanya menunda hari perhitungan untuk Anda. (Ini seharusnya membuat operasi sejarah lebih cepat, jadi itu saran yang bagus pula). Satu hal yang perlu diperhatikan adalah bahwa ia hanya bekerja pada direktori sharded (mis. Struktur direktori baru adalah menempatkan 1000 revisi ke dalam direktori tunggal, kemudian memulai direktori baru) dan hanya mengemas direktori shard lama, bukan direktori dengan revisi saat ini. di dalamnya.
Jadi, satu-satunya pilihan Anda adalah menghapus revisi lama dari riwayat Anda. Itu membutuhkan svnadmin dump and load, dengan filter opsional untuk menghapus direktori di repo Anda yang tidak lagi Anda perlukan. (mis. cabang sementara yang lama).
Membuang itu mudah: di svnadmin dump -r xxx:HEAD
mana xxx adalah revisi tertua yang ingin Anda pertahankan (yaitu ini akan membuang yang paling baru, sehingga revisi kuno Anda dibuang, seperti pengarsipan). Anda dapat menyimpan arsip revisi lama dengan membuangnya juga ( svnadmin dump -r 1:xxx
)
Setelah Anda memiliki dumpfile Anda, memuatnya semudah menjalankan memuat svnadmin lewat nama dumpfile. mungkin ide yang baik untuk menghapus repo lama sebelum memuat yang baru - maka Anda mendapatkan manfaat dari properti sistem file server terbaru, jika Anda belum memilikinya.
Jika Anda ingin menyimpan semua revisi lama tetapi menyaring direktori tertentu, Anda ingin menjalankan dumpfile melalui svndumpfilter , yang akan menghapus jalur yang ditentukan. Ketahuilah bahwa Anda ingin membuang tanpa menggunakan opsi --incremental.
Jelas, uji semua operasi secara lokal - buang ke file lokal, lalu muat ke dalam repo temp pada drive lokal Anda (itu akan lebih cepat juga) dan uji bahwa riwayat dan versi terbaru berfungsi ok - saya mengekspor revisi terbaru ke direktori dan gunakan winmerge untuk memeriksa apakah file identik dengan ekspor revisi terbaru dari repo langsung. Cobalah dengan revisi historis juga jika Anda ingin menjadi paranoid.