Вопрос

У нас довольно большой репозиторий SVN (50 ГБ, более 100000 ревизий). Работа с этим довольно медленно, и я предполагаю, что причина этого является плоская структура каталогов в DB / REVS и DB / REVPROPS (где каждая редакция является одним файлом).

Мы используем формат FSFS с SVN 1.5 (на сервере Linux), но REPO был создан со старой версией SVN. Теперь я прочитал, что SVN 1.5 поддерживает «Sharding», и я понял, что эта функция распределяет изменения в нескольких каталогах, поэтому один каталог не содержит так много файлов. Это звучит довольно полезно, но, к сожалению, похоже, эта функция используется только с репозиториями, которые свежено создаются с SVN 1.5.

Как я могу преобразовать большой существующий линейный репо на оскорбленное репо? Руководство упоминает инструмент «FSFS-RESHARD.PY», но этот сценарий говорит: «Этот скрипт незавершен и не готов использовать на живых данных. Доверьтесь нам». Так что я определенно не хочу использовать это. Есть ли альтернатива?

Это было полезно?

Решение

Лучший способ - это упомянутое дамп / нагрузка на цилич. Но вы можете попробовать Обновить.

svnadmin upgrade

Сначала сделайте копию вашего репо, попробуйте обновление и проверьте его .... (Не пропустите резервную копию).

Другие советы

Уилл svnadmin dump а также svnadmin load Покажи фокус? http://subversion.apache.org/faq.html#dumpload.

Потому что процесс Dump / Restore требует много дискового пространства и времени обработки, я опубликовал (в 2010 году) улучшенную версию fsfs-reshard.py который включает в себя поддержку Subversion 1.6 FSFS Формат 5:https://github.com/ymartin59/svn-fsfs-reshard.

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

Конечно, это должно быть используется с осторожностью:

  • Первая процедура испытаний на копию репозитории, если это возможно
  • Получить резервную копию, готовую к восстановлению
  • Предотвратить доступ к репозитории при обработке
  • Бегать svnadmin verify прежде чем положить его
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top