#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 загружает измененный файл дампа в ваш репозиторий.
В Интернете есть руководства для всего вышеперечисленного.