SVN Переместить единый каталог в другой репозиторий (с историей)
-
22-09-2019 - |
Вопрос
Связанный вопрос: Перемещение ствола репозитория в чужую ветвь (с историей)
Я знаю, что можно сбросить полный Репозиторий 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. Когда вы отпустите мышь, вы получите этот список вариантов:
«SVN Export Export Verseed здесь» будет копировать (рекурсивно) с историей.