Объединение двух каталогов SVN в двух разных репозиториях

#svn #merge #copy #move

#svn #слияние #Копировать #переместить

Вопрос:

У меня есть репозиторий R1 с такой конфигурацией:

 R1
|-- P11
     |--D11
     |--D12
     |--D13
     file1
     file2
     ...
  

Существует другой глобальный репозиторий R2, в котором я могу получить доступ к каталогу U1

 R2
|-- U1
     |-- P21
           |...
  

У меня нет доступа к R2 напрямую, только к моим каталогам.

Я хотел бы скопировать P11 и его историю svn в P21…

Возможно ли это сделать?

С наилучшими пожеланиями.

Ответ №1:

Это должно быть что-то вроде этого:

 svnadmin dump /path/to/repo/R1 > R1-dumpfile

svndumpfilter include P11 < R1-dumpfile > P11-dumpfile

svnadmin load /path/to/repo/R2 --parent-dir U1/P21 < P11-dumpfile
  

( вы, конечно, можете передавать команды по каналам, но для понимания оставьте их отдельными)

Непроверенный, но он должен заставить вас работать.

Ссылка: http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html

Комментарии:

1. Спасибо за ссылку! Это именно то, что я искал!

Ответ №2:

Вам нужен rsvndump, который будет выводить удаленный репозиторий. Передайте это через svndumpfilter, чтобы получить нужный каталог, затем измените его путь с помощью sed; или укажите нужный URL-адрес и используйте опцию —prefix для rsvndump. Затем svn загружает измененный файл дампа в ваш репозиторий.

В Интернете есть руководства для всего вышеперечисленного.