Edit: О хорошо, редактирование вопроса было сделано, когда я печатал. Это ответ на
Есть ли способ объединить два или более
хранилища, поддерживающие версию
история для обоих?
Предполагая, что
Существующие репозитории имеют следующую структуру:
и вам нужна структура типа:
- корень хранилища
- Projecta
- ветви * * тысяча тридцать-одны
- метка
- багажник
- projectB
Тогда для каждого репозитория вашего проекта:
svnadmin dump > project<n>.dmp
Затем для каждого из файлов дампа:
svn mkdir "<repo url>/project<n>"
svnadmin load --parent-dir "project<n>" <filesystem path to repos>
Возможны более сложные манипуляции, но это самое простое, самое простое. Изменение структуры исходного хранилища во время дампа / загрузки опасно, но выполнимо с помощью комбинации svnadmin dump
, svndumpfilter
, ручного редактирования или дополнительных текстовых фильтров и svnadmin load
Работа со сторонним поставщиком
- Запрос
svnadmin dump
файлов для каждого из ваших репозиториев. Поставщик должен быть готов / способен предоставить это - он является вашим кодом!
- Создание SVN-хранилища локально.
- Выполните действия, указанные выше для файлов дампа.
- Проверьте правильность структуры хранилища в вашем любимом клиенте.
- Создание файла дампа для объединенных репозиториев.
- Запросить, чтобы поставщик заполнил новый репозиторий из этого файла дампа.
YMMV: Кажется, это разумный подход, но я никогда не работал с таким сторонним провайдером, как этот.