Как известно, текущая версия svn поддерживает копирование или перемещение данных только внутри одного репозитория. А что делать, если нужно "вытащить" проект из одного репозитория и положить в другой? Мне известен только один, не совсем красивый, способ - создать дамп исходного репозитория, натравить на него svndumpfilter дабы отфильтровать нужный проект и затем загрузить получившийся дамп в новое хранилище.
Допустим есть repoA с тремя проектами:
-- project1
-- project2
-- project3
Мне нужно вытащить проект project2 и положить в новый репозиторий repoB (с сохранением истории естественно). Порядок действий:
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
?
Спасибо большое за информацию. :)
Отправить комментарий