Подтвердить что ты не робот

SVN перемещает единую директорию в другой репозиторий (с историей)

Связанный вопрос: Перемещение репозитория в другую ветку (с историей)


Я знаю, что можно выгрузить полный репозиторий 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

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

4b9b3361

Ответ 1

Отметьте svndumpfilter и этот раздел в Обслуживание хранилища.

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

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

Ответ 2

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

enter image description here

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