Копирование или перенос проекта между двумя репозиториями

Как известно, текущая версия svn поддерживает копирование или перемещение данных только внутри одного репозитория. А что делать, если нужно "вытащить" проект из одного репозитория и положить в другой? Мне известен только один, не совсем красивый, способ - создать дамп исходного репозитория, натравить на него svndumpfilter дабы отфильтровать нужный проект и затем загрузить получившийся дамп в новое хранилище.

Допустим есть repoA с тремя проектами:

repoA:
   -- project1
   -- project2
   -- project3

Мне нужно вытащить проект project2 и положить в новый репозиторий repoB (с сохранением истории естественно). Порядок действий:

svnadmin dump /var/svn/repositories/repoA > repoA.dump
cat ./repoA.dump | svndumpfilter include project2 --drop-empty-revs --renumber-revs --preserve-revprops > project2.dump
cat ./project2.dump | svnadmin load /var/svn/repositories/repoB

Таким образом, мы получили repoB состоящий из проекта project2 со всей своей историей изменений.

А что делать, если нужно перенести проект project2 из

repoA:
branches
tags
trunk
project1
project2
project3

в

repoB:
branches
tags
trunk
Solution1
project2
Solution2
Solution3

?

Спасибо большое за информацию. :)

Отправить комментарий

Image CAPTCHA
Enter the characters shown in the image.
Реклама на stremoukhov.ru: