SVN переместить один каталог в другой репозиторий (с историей) - PullRequest
35 голосов
/ 25 февраля 2010

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


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

// 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

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

Ответы [ 2 ]

20 голосов
/ 25 февраля 2010

Проверьте svndumpfilter и этот раздел на Обслуживание репозитория .

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

Я не знаю, как это сделать с помощью TortoiseSVN.

0 голосов
/ 30 апреля 2015

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

enter image description here

«SVN Экспорт версионных элементов здесь» копирует (рекурсивно) с историей.

...