Apakah mungkin untuk menganalisis ukuran repositori SubVersion?

10

Apakah mungkin untuk mengetahui berapa banyak ruang disk yang digunakan setiap proyek dalam repositori SubVersion?

Saya dapat melihat copy pekerjaan masing-masing proyek dan melihat ukuran masing-masing proyek, tapi saya tidak berpikir itu mencakup ukuran total proyek (semua revisi).

Saya dapat melihat di bawah direktori "db" repositori, tetapi tidak ada file di sana yang masuk akal - saya tidak berpikir itu mungkin untuk menggunakannya untuk mengetahui berapa banyak ruang yang ditempati setiap proyek.

Saya mencoba svn ls --verboseperintah itu, tetapi ukuran yang diberikannya hanya ukuran file aktual di revisi kepala, saya tidak berpikir itu termasuk semua revisi.

Mungkin ini tidak mungkin, tetapi saya pikir saya akan bertanya.

Terima kasih sebelumnya!

BrianH
sumber

Jawaban:

1

Satu-satunya hal yang muncul di pikiran saya adalah ini:

  • buat repositori kosong baru sementara

  • svnadmin membuang repositori lama, memfilternya untuk mempertahankan hanya satu proyek dengan svndumpfilter, dan mengimpornya ke repositori baru

  • lihat ukuran repositori baru, lalu hapus

Marius Gedminas
sumber
3

Saya menggunakan ini baru-baru ini tetapi mengubahnya sedikit agar lebih akurat

svn list -vR svn://server/repo/somedir | awk '{tmp=match($3,/[0-9]/);if(tmp){sum+=$3; i++}} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'

Saya menggunakan

{tmp=match($3,/[0-9]/) 

bukannya jika

($3 !="")

karena memberikan jumlah file yang lebih akurat

SteveB
sumber
2

Jika Anda menggunakan -ropsi, Anda dapat menentukan revisi.

Misalnya, revisi 1000:

svn ls -vR -r 1000
Abel Robertson
sumber
1

Ukuran repositori dapat ditemukan menggunakan perintah berikut ..

Meskipun ini tidak menghasilkan hasil yang tepat sepanjang waktu, saya menemukan ini sangat membantu sebagian besar waktu.

svn list -vR svn://server/repo/somedir | awk '{if ($3 !="") sum+=$3; i++} END {print "\ntotal size= " sum/1024000" MB" "\nnumber of files= " i/1000 " K"}'.
ijeyanthan
sumber
1

Jika Anda memiliki akses ke terminal server Anda dapat menggunakan du (disk yang digunakan):

du -sh /var/svn-repos/project-doomsday

yang memberi Anda jumlah total ruang yang digunakan oleh repo itu di server, termasuk database yang biasanya kecil.

MyB
sumber