Назад | Перейти на главную страницу

Как перенести часть репозитория SVN?

Как перенести часть репозитория SVN в новый репозиторий?

Чтобы перенести содержимое полный Репозиторий SVN в новый репозиторий, сначала нужно сбросить старый репозиторий:

svnadmin dump /path/to/repository > repository-name.dmp

а затем загрузите его в новый, используя svnadmin load.

Но я не уверен, как просто перенести деталь. Мне еще нужно все это свалить? Могу ли я найти ту часть, которую хочу?

Просто сбросить myproject, Я пробовал это, но это не сработало:

svnadmin dump /path/to/repository/myproject

Любые идеи?

Если вы хотите перетянуть часть репозитория, конкретный подкаталог. Сначала вам нужно выгрузить весь репозиторий, запустить svndumpfilter, чтобы включить этот каталог, и, наконец, загрузить все в чистый репозиторий.

Допустим, вы хотите переместить каталог Calc, вы бы сделали:

svnadmin dump repos > dumpfile
cat dumpfile | svndumpfilter include Calc > dumpfile-Calc

Затем, чтобы правильно загрузить каталог Calc, вы должны:

svnadmin create newrepos
svnadmin load Calc < dumpfile-Calc

Это взято и немного изменено из документации: http://svnbook.red-bean.com/en/1.0/ch05s03.html

Когда я хотел это сделать, я просто делал svnadmin dump и svnadmin load, так же, как и вы, я удалил все остальное из репо.

Размер репо был всего 3 ГБ, так что это не было таким уж большим делом, а для безопасности это не так хорошо, поскольку вы, очевидно, можете отменить удаления, откатившись, но он достиг того же, потому что я не мог найти способ сделать это с сохранением истории изменений.