Чи можливо проаналізувати розмір сховища 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.