É possível analisar o tamanho de um repositório SubVersion?


10

É possível saber quanto espaço em disco cada projeto em um repositório SubVersion está usando?

Posso verificar uma cópia de trabalho de cada projeto e verificar o tamanho de cada projeto, mas não acho que isso abranja o tamanho total do projeto (todas as revisões).

Posso procurar no diretório "db" do repositório, mas nenhum dos arquivos lá faz sentido - não acho que seja possível usá-los para descobrir quanto espaço cada projeto ocupa.

Eu tentei o svn ls --verbosecomando, mas o tamanho que ele me fornece é apenas o tamanho dos arquivos reais na revisão principal, acho que não inclui todas as revisões.

Talvez isso não seja possível, mas pensei em perguntar.

Desde já, obrigado!

Respostas:


1

A única coisa que me vem à mente é esta:

  • crie um novo repositório vazio temporário

  • svnadmin despeja o repositório antigo, filtre-o para reter apenas um projeto com svndumpfilter e importe-o para o novo repositório

  • observe o tamanho do novo repositório e exclua-o


3

Eu usei isso recentemente, mas mudei um pouco para ser mais preciso

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"}'

eu usei

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

em vez de se

($3 !="")

pois fornece uma contagem de arquivos mais precisa


2

Se você usar a -ropção, poderá especificar uma revisão.

Por exemplo, revisão 1000:

svn ls -vR -r 1000

1

O tamanho do repositório pode ser encontrado usando o seguinte comando ..

Embora isso não produza os resultados exatos o tempo todo, achei útil na maioria das vezes.

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"}'.

1

Se você tiver acesso ao terminal do servidor, poderá usar du (disco usado):

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

que fornece a quantidade total de espaço usado por esse repositório no servidor, incluindo o banco de dados geralmente pequeno.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.