Работает ли пакет svnadmin на не обновленных 1.6 репо?
Вопрос
Я пытался запустить пакет svnadmin для репозиториев, которые были изначально созданы с SVN 1.6. Тем не менее, я не вижу выводов, чтобы предположить, что команда что-то делает. Может ли случиться так, что упаковка с осколками происходит автоматически для нативных репо 1.6 (в отличие от обновленных репо по требованию)? Результат, который я ожидаю увидеть:
$ svnadmin pack /var/svn/repos
Packing shard 0...done.
Packing shard 1...done.
Packing shard 2...done.
…
Packing shard 34...done.
Packing shard 35...done.
Packing shard 36...done.
$
Однако я просто вижу:
$ svnadmin pack /var/svn/repos
$
Репо, которое я пытаюсь упаковать, содержит 16 ревизий, и я использую его в качестве тестового репо с целью упаковки других репозиториев с помощью > 1000 оборотов
Решение
Упаковка работает только для групп из 1000 ревизий (или любого другого размера вашего шарда). Если у вас есть только 16 ревизий, осколок все еще активен и не может быть упакован.
Получив > 1000 ревизий, вы можете упаковать первый осколок.
После 2000 ревизий вы можете упаковать следующий осколок и т. д.
Более полное описание доступно в этой части заметок о выпуске . р>
Да, и чтобы действительно ответить на ваш вопрос, это не автоматически, вам нужно запустить " svnadmin pack " вручную каждый раз, когда вы хотите упаковать старые, полные осколки, которые еще не были упакованы.
Другие советы
Моя интерпретация документация , особенно эта строка
Subversion может упаковать существующие разрозненные репозитории , которые были обновлены до версии 1.6 Формат файловой системы (выделено мое)
заключается в том, что вам нужно запускать pack
только в репозиториях, созданных до 1.6. Поэтому я думаю, что pack
не повлияет на ваш нативный репозиторий 1.6.