Выполнить дамп промежуточной ревизии в репозитории Subversion
Привет как дела? У меня есть репозиторий из 60850 ревизий svn, куда случайно было загружено 120 ГБ файлов. Если быть более конкретным, ревизия 60660 самая тяжелая. Я пытался устранить эту сумму с помощью следующих инструментов:
1 - Выполните дамп с фильтрацией ревизий svnadmin dump -r, а затем загрузите в новое репо.
2 - Выполните дамп, а затем выполните фильтрацию с помощью svndumpfilter и укажите путь, по которому расположены эти файлы. А затем также загрузите новое репо.
Я пытался отредактировать файлы ревизий, но знаю, что они скорее сломаются, чем исправят.
Я понимаю, что удаление файлов из системы контроля версий - это не идея, поскольку мы уверены, что сможем вернуться, когда нам это понадобится. Но эти файлы не обязательно должны размещаться на сервере и занимать на нем место.
Можете ли вы предложить какие-либо другие идеи или способы выполнения этой задачи?
От уже большое спасибо.
С уважением!
PD: SVN версия 1.7.14 (R1542130)
1 ответ
В последний раз, когда я пробовал (много лет назад) с гораздо более старыми версиями svn, процедура, которую вы упомянули, используя svnadmin dump
это правильный способ продолжить. IIRC, номера ревизий не хранятся в дампах (см. http://svnbook.red-bean.com/en/1.7/svn.ref.svnadmin.c.dump.html).
Таким образом вы уменьшите размер репо. Но если у вас не хватает диска на сервере, проблем с производительностью быть не должно. Subversion чрезвычайно хороша в работе с абсурдно большим объемом репозиториев со всеми видами ненужных, огромных коллекций файлов, независимо от того, являются ли они двоичными или правильными текстовыми файлами. Тот, над которым я работаю ежедневно, является примером этого. Чтобы оформить заказ, нужно одно утро.