Subversion dump / load overlap / Проблема с перекрытием - PullRequest
0 голосов
/ 21 июня 2010

У меня есть хранилище, которое я переношу на новый сервер Subversion, используя svnadmin dump и load. Я делаю это в 2 этапа, как описано в шагах ниже:

  • repoX в редакции 100
  • Я выполняю svnadmin dump repoX> repoX.dump
  • Я выполняю svnadmin create repoX на новом сервере
  • Я выполняю svnadmin загрузочный repoX

Пока все это работает, и svnadmin verify говорит, что все в порядке. Затем я пытаюсь обновить репо (это происходит до окончательного отключения, все еще тестируемого на этом этапе).

  • Далее я выполняю svnadmin dump repoX -r 101: head --incremental> repoX.dump
  • Я снова выполняю загрузку svnadmin repoX

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

  • svnadmin dump repoX -r 100: head --incremental> repoX.dump

На этот раз все работает и проверено нормально.

Однако .... есть другие репо, например репо. Когда я пробую второй механизм (переход к ревизии 100 в первом дампе, затем получение обновленного дампа из ревизии 100), я получаю еще одну ошибку, говоря, что каталог уже существует! Некоторые репозитории работают в одну сторону, некоторые работают в другую, все они не работают, когда я делаю это одинаково.

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

Я не могу обойтись без единого файла дампа, поскольку мы говорим о 150-гигабайтных данных, распределенных по 50 репозиториям, которые физически не могут быть выгружены, переданы и загружены за одну ночь. Этот механизм гарантирует, что мы можем переместить 95% данных до окончательного переключения ... но похоже, что моя теория может быть ошибочной.

Если вам нужна дополнительная информация, просто спросите.


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

1 Ответ

1 голос
/ 21 июня 2010

Если сервер активен во время дампа, возможно ли, что был сделан коммит между?

  • репо на уровне 100
  • свадмин дамп

Как вы определяете, с какой ревизии начинать? Запрашивать исходное хранилище перед созданием дампа, после создания дампа, проверкой файла дампа или из хранилища назначения после загрузки?

...