SVN Переместить единый каталог в другой репозиторий (с историей)

StackOverflow https://stackoverflow.com/questions/2337470

Вопрос

Связанный вопрос: Перемещение ствола репозитория в чужую ветвь (с историей)


Я знаю, что можно сбросить полный Репозиторий SVN с историей и загрузите его в пользовательский (Sub) каталог целевого репозитория с использованием:

// in source repo
> svnadmin dump . > mydumpfilename

// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir some\sub\directory

Но это импортирует полное репозиторий в подстаточку целевого репозитория. Что я хочу, так это определить подчиненную в исходном хранилище, который должен экспортироваться. Что-то типа svnadmin dump . --source-path old\sub\dir > mydumpfilename.

Как я могу этого добиться? Если Tortoisesvn может сделать это, пожалуйста, скажите об этом;)


РЕШЕНИЕ: Благодаря ответу Тима Хенигана, вот правильный способ сделать это:

// execute in destination repo
svndumpfilter include source\sub\dir < mydumpfilename | svnadmin load . --parent-dir destination\sub\dir

Надеюсь, это тоже поможет другим ...

Это было полезно?

Решение

Проверить svndumpfilter И этот раздел о Техническое обслуживание репозитория.

После того, как у вас есть файл сброса для всего старого репозитория, вы можете использовать svndumpfilter Чтобы извлечь только ту часть, которую вы хотите.

Я не знаю, как сделать это с Tortoisesvn.

Другие советы

Немного поздно до вечеринки, но ... если вы вытащили местные копии обеих репозиториев, используя Tortoisesvn, вы можете фактически скопировать каталог из одного на другой с историей, щелкнув правой кнопкой мыши в каталоге (или файле) из репо1 и перетаскивая его в репо2. Когда вы отпустите мышь, вы получите этот список вариантов:

enter image description here

«SVN Export Export Verseed здесь» будет копировать (рекурсивно) с историей.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top