Переместить одну папку SVN в новый репозиторий - как? - PullRequest
2 голосов
/ 05 апреля 2011

У меня есть SVN-репозиторий, содержащий несколько папок верхнего уровня, по одной на проект.Внутри каждой папки проекта находятся обычные ствол, ветви, теги.

Мне нужно переместить одну из этих папок проекта в собственный независимый репозиторий для экспорта и последующего импорта на другой сервер.Новый репозиторий с одним проектом должен содержать только историю ревизий для этого проекта, и ни один из других проектов.

Есть идеи о том, как лучше поступить?

Сервер - это сервер VisualSVN в Windows,хотя это не должно иметь никакого значения.

Ответы [ 3 ]

8 голосов
/ 05 апреля 2011

Вы можете использовать svnadmin dump, перенаправить вывод через svndumpfilter, а вывод - в svnadmin load.

svndumpfilter сделан именно для того, что вы хотите сделать.Вы можете использовать подкоманду include, чтобы указать нужный проект в хранилище, а остальные не указывать.

svnadmin load позволяет указать каталог в хранилище, в котором вы хотите сохранить выходные данные.

Взгляните на раздел Обслуживание репозитория онлайн-руководства.

1 голос
/ 05 апреля 2011
  1. В TortoiseSVN у вас есть возможность экспортировать проект из хранилище (полоски svn информации).
  2. Создайте свой новый репо на сервере
  3. Оформить новый репозиторий SVN на ваш диск
  4. скопировать экспортированные файлы в новый репозиторий
  5. Commit.

Ну вот, новый чистый репо.

0 голосов
/ 05 апреля 2011

Одна вещь, которую нужно сделать, - это выполнить последовательность svn-дампов проверок, выполненных для этой папки.Назовите их в соответствии с их номером редакции.Теперь в вашем новом репозитории SVN импортируйте их по порядку.Попробуйте это на тестовом репо, чтобы сгладить изломы, если таковые имеются, но это должно быть выполнимо.Используйте команду svndump, детализированную здесь .

...