Назад | Перейти на главную страницу

Перемещение проектов между двумя репозиториями SVN

Наш основной репозиторий svn вышел из строя из-за аппаратного сбоя 2 недели назад, поэтому мне пришлось настроить временный локальный svn в ящике Ubuntu, чтобы продолжить разработку с восстановленными рабочими копиями с локальных компьютеров.

Через некоторое время мне удается восстановить старый удаленный сервер и решить возникшую у нас проблему. Кроме того, удалось запустить старый svn-сервер.

Итак, теперь я хочу передать папки локального сервера на удаленный сервер,

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

Итак, мой вопрос: есть ли другой способ спасти историю последних двух недель?

Более или менее хороший способ присоединиться к этим двум репозиториям - свалки

  1. Создать дамп 2-недельного репо с svnadmin dump (RTFM) или svnrdump dump (RTFM), используя метод, который вам разрешено использовать (svnadmin требует локального доступа к ФС или репо, svnrdump - только возможность читать репозиторий)
  2. Восстановите дампы из вышеперечисленных в "большой" репозиторий, используя соответствующие команды svnadmin или svnrdump

Способ питания

С помощью "DVCS of choice" "извлекайте" данные из обоих SVN-репозиториев (оба современных DVCS 1-го класса - Mercurial и Git - могут делать это немного по-разному), при необходимости перебазируйте часть (т.е. DAG сломан и история рвется), «толкать» на отремонтированное репо. Я написал «КОМАНДА», потому что настоящие команды разные в упомянутых СКМ. Я предлагаю в конце концов не удалять репозиторий DVCS, а использовать его в качестве дополнительной резервной копии с зеркальным отображением изменений в репозитории SVN в дальнейшем.