Вытащите маленький репозиторий SVN внутрь большего - PullRequest
1 голос
/ 30 января 2012

Я пытаюсь объединить три небольших SVN-репозитория в одно большое, сохраняя при этом историю изменений для всех файлов.

Я пытался сделать:

svnadmin dump repo_A > repo_A.txt

создаёт новый подкаталог с именем REPO_A в репозитории 'содержащего', затем говорит:

svnadmin load --parent-dir "REPO_A" /path/to/containing/repo < repo_A.txt

Это работает, но когда я делаю чистую проверку, я получаю только содержимое оригинала, содержащее хранилище.
Я могу явно проверить добавленное хранилище, сказав:

svn co /path/to/containing/repo/trunk/REPO_A mysandbox/REPO_A

но это меньше, чем хотелось бы.
Я просто хочу, чтобы результатом был один большой репозиторий, и я получаю все это на кассе.

Что я здесь не так делаю?


Обратите внимание, что прилагаемый репозиторий и репозиторий, который я пытаюсь включить, не пересекаются; нет никаких совпадений с точки зрения имен файлов. Есть несколько ссылок на это, разбросанных по сети; все предлагают ту же самую процедуру dump / mkdir / load, которую я использовал, и ничего не упоминается о конфликтах версий. Фактически, когда я загружаю дамп, различные версии, которые он содержит, увеличиваются по сравнению с самым младшим номером ревизии, найденным в прилагаемом репозитории. Например, если последняя ревизия во вложенном репозитории равна 2000, а количество ревизий в REPO_A равно 500, то после завершения последняя ревизия в прилагаемом REPO_A будет 2500.

Однако это не проблема. Проблема в том, что вновь загруженный репозиторий, похоже, не является частью вмещающего репозитория. Хотя это может быть извлечено явно, как отмечено, оно не извлечено как часть co верхнего уровня, а при выдаче 'svn status' на верхнем уровне подкаталог, содержащий его, является неизвестным для хранилища, даже если он пришел оттуда. Сообщения о состоянии в подкаталоге REPO_A работают, как и ожидалось.

...