Можно ли проанализировать размер хранилища SubVersion?


10

Можно ли узнать, сколько дискового пространства использует каждый проект в хранилище SubVersion?

Я могу проверить рабочую копию каждого проекта и посмотреть, какой размер занимает каждый проект, но я не думаю, что он охватывает общий размер проекта (все ревизии).

Я могу заглянуть в каталог «db» хранилища, но ни один из файлов там не имеет смысла - я не думаю, что их можно использовать, чтобы выяснить, сколько места занимает каждый проект.

Я попробовал svn ls --verboseкоманду, но размер, который она мне дает, это просто размер фактических файлов в ревизии заголовка, я не думаю, что она включает в себя все ревизии.

Может быть, это невозможно, но я подумала, что спрошу.

Заранее спасибо!

Ответы:


1

Единственное, что приходит мне в голову, это:

  • создать новый временный пустой репозиторий

  • svnadmin выгрузит старый репозиторий, отфильтрует его, чтобы сохранить только один проект с svndumpfilter, и импортирует его в новый репозиторий

  • посмотрите размер нового хранилища, затем удалите его


3

Я использовал это недавно, но немного изменил, чтобы быть более точным

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

я использовал

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

вместо если

($3 !="")

как это дает более точный подсчет файлов



1

Размер хранилища можно узнать с помощью следующей команды.

Хотя это не дает точных результатов все время, я обнаружил, что это полезно в большинстве случаев.

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

Если у вас есть доступ к серверному терминалу, вы можете использовать du (используется диск):

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

это дает вам общий объем пространства, используемого этим репо на сервере, включая обычно небольшую базу данных.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.