SVN переместить один каталог в другой репозиторий (с историей)
вопрос: перемещение магистрали репозитория в другую ветвь (с историей)
Я знаю, что можно вывалить полное SVN репозиторий с историей и загрузить его в пользовательский каталог (sub) целевого репозитория, используя:
// in source repo
> svnadmin dump . > mydumpfilename
// in destination repo (backslashes because I'm using Windows)
> svnadmin load . < mydumpfilename --parent-dir somesubdirectory
но это импортирует полный репозиторий в подкаталог целевого репозитория. Я хочу определить подкаталог в исходном репозитории, который должен быть экспортирован. Что-то вроде svnadmin dump . --source-path oldsubdir > mydumpfilename
.
как я могу добиться этого? Если TortoiseSVN может это сделать, пожалуйста, скажите;)
устранение: благодаря ответу Тима Хенигана, вот правильный способ сделать это:
// execute in destination repo
svndumpfilter include sourcesubdir < mydumpfilename | svnadmin load . --parent-dir destinationsubdir
надеюсь, что это поможет другим тоже...
2 ответов
проверить svndumpfilter
и этот раздел на Ремонт Репозиторий.
Как только у вас есть файл дампа для всего старого репозитория, вы можете использовать svndumpfilter
, чтобы извлечь только часть, которую вы хотите.
Я не знаю, как это сделать с TortoiseSVN.
немного опоздал на вечеринку, но... если вы вытащили локальные копии обоих репозиториев с помощью TortoiseSVN, вы можете скопировать каталог из одного в другой с историей, щелкнув правой кнопкой мыши каталог (или файл) из Repo1 и перетащив его в Repo2. Когда вы отпустите мышь, вы получите этот список опций:
"SVN Export versioned items here" будет копировать (рекурсивно) с историей.