Перенос каталога в другой репозиторий SVN - PullRequest
1 голос
/ 04 октября 2009

У меня есть код в репозитории svn, назовите его репозиторий A. Теперь скажите, что мне нужно переместить содержимое в репозиторий B, но репозиторий B уже некоторое время был активен для других проектов. Можно ли переместить определенный каталог из хранилища A в хранилище B, сохранив историю файлов? Обычно, чтобы перенести весь репозиторий на новый сервер, я бы сделал:

svnadmin dump -r 0:179 rep_a > rep_a.dump
svnadmin create rep_b
svnadmin load rep_b < rep_a.dump

Однако это действует на весь репозиторий и предполагает, что репозиторий B пуст для начала (я думаю). Конечно, я могу экспортировать этот каталог и импортировать его в репозиторий B, но я теряю историю версий.

Есть ли простой способ переместить конкретный каталог из A в B без потери истории версий?

Ответы [ 2 ]

3 голосов
/ 04 октября 2009

Допустим, вы хотите скопировать каталог trunk/project из rep_a в rep_b, вы должны использовать эту команду:

svnadmin dump rep_a | svndumpfilter include trunk/project | svnadmin load rep_b

Изменения, связанные с rep_a, будут добавлены в историю rep_b.

Будьте осторожны с этим и сделайте резервную копию прежде, конечно. Кроме того, это может быть сложно, если у вас есть общие каталоги, тогда вам придется удалить создание каталогов из дампа (чтобы не создавать одни и те же каталоги дважды).

0 голосов
/ 04 октября 2009

Посмотрите на Фильтрация истории репозитория в книге SVN.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...