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. Когда вы отпустите мышь, вы получите этот список опций:

enter image description here

"SVN Export versioned items here" будет копировать (рекурсивно) с историей.