Как сбросить только определенную часть хранилища SVN?

12

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

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

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

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

Но я не уверен, как просто переместить деталь. Я все еще должен бросить все это? Я согласен на ту часть, которая мне нужна?

Чтобы просто сбросить myproject, я попробовал это, но это не сработало:

svnadmin dump /path/to/repository/myproject
dehmann
источник
1
Или это относится к serverfault.com?
Дехманн
... Я думаю, что вы, вероятно, найдете ответ о сбое сервера, но я думаю, что в наши дни достаточно "опытных пользователей", использующих SVN на своих локальных машинах, чтобы его стоило оставить здесь. Он получил голоса!
Зак Томпсон

Ответы:

10

Вы должны использовать svndumpfilterдля таких вещей, как это. В частности svndumpfilter include. Итак, для вашего случая:

svndumpfilter include myproject < repository-name.dmp > myproject.dmp
svnadmin load /path/to/myproject-repo < myproject.dmp

http://svnbook.red-bean.com/nightly/en/svn.ref.svndumpfilter.commands.c.include.html

http://svnbook.red-bean.com/nightly/en/svn.reposadmin.maint.html#svn.reposadmin.maint.filtering

Зак Томпсон
источник
5

Если ваш репозиторий размещен по URL-адресу, который вы можете использовать svnrdumpдля выгрузки подпапки репозитория:

svnrdump dump http://svn.example.com/repos/[.../]project

где repos - это корень репозитория, а project - подпапка, которую вы хотите выгрузить.

Андреас Дж.
источник