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

9

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

Eu posso conferir uma cópia de trabalho de cada projeto e ver o tamanho de cada projeto, mas não acho que isso englobe o tamanho total do projeto (todas as revisões).

Eu posso olhar sob o diretório "db" do repositório, mas nenhum dos arquivos lá dentro faz sentido - eu não acho que é possível usá-los para descobrir quanto espaço cada projeto ocupa.

Eu tentei o comando svn ls --verbose , mas o tamanho que ele me dá é apenas o tamanho dos arquivos reais na revisão da cabeça, não acho que inclua todas as revisões.

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

Obrigado antecipadamente!

    
por BrianH 26.04.2010 / 18:40

5 respostas

0

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 único projeto com svndumpfilter e importe-o para o novo repositório

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

por 11.07.2010 / 15:57
2

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

Por exemplo, revisão 1000:

svn ls -vR -r 1000
    
por 03.04.2012 / 01:55
2

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 !="")

porque fornece uma contagem de arquivos mais precisa

    
por 17.05.2012 / 15:02
1

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

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

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

    
por 10.07.2012 / 20:00
0

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

Embora isso não produza os resultados exatos o tempo todo, acho que isso é ú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"}'.
    
por 10.04.2012 / 09:15