Как изменить первый узел репозитория svn?

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

Фактический корень

Я хочу иметь следующее как root, без кода родительского узла.

Это должно быть

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

Если кто-то задается вопросом, почему есть узел. Это результат использования svnsync .

Вы должны использовать команду svn copy, чтобы скопировать эти 3 папки с кода на root и затем удалить svn для удаления кода. Использование svn copy предотвратит вашу историю фиксации, и вам не придется беспокоиться о svn: mergeinfo . Не рекомендуется вручную менять svn: mergeinfo .

Просто переместите их в корень. Подставьте полные URL-адреса в свои каталоги ниже.

svn mv /code/branches /branches svn mv /code/trunk /trunk svn mv /code/tags /tags svn rm /code 

Я нашел подходящий способ для меня. Я использую функции дампа и загрузки из svn.
код в этом случае является первым узлом в структуре папок, который следует удалить.

После демпинга я меняю файл дампа на sed:

 sed -i -r 's/(Node-[az-]+): code\//\1: /' 

Кроме того, изменения в блоке svn: mergeinfo необходимо изменить.
Я сделал это с помощью правильных хороших ответов из другого вопроса ( поиск и замена по нескольким строкам в больших файлах ).

Последним шагом является нормальный импорт с нагрузкой .