Как добавить теги / ствол / ветви к установленному репозиторию SVN? - PullRequest
4 голосов
/ 12 июля 2011

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

Есть ли способ добавить tags, trunk и branches в репозиторий на верхнем уровне, не просто проверяя весь репозиторий, изменяя структуру каталога и затем фиксируя? Можно ли добавить его рекурсивно, чтобы, если вы хотите просмотреть файл год назад, который был здесь:

svn://svn.server.com/myfolder/myfile.txt

вместо этого вы увидите это здесь

svn://svn.server.com/trunk/myfolder/myfile.txt

Возможно ли это? Или мне просто нужно все проверить, изменить структуру dir наверху и зафиксировать все это?

Ответы [ 2 ]

4 голосов
/ 12 июля 2011

Вам не нужно проверять репо, чтобы манипулировать им.

svn mv svn://svn.server.com/myfolder svn://svn.server.com/trunk
svn mkdir svn://svn.server.com/tags svn://svn.server.com/branches

Если немедленные коммиты пугают, вас также может заинтересовать svn checkout --depth='immediates', который будет извлекать только файлы и папки в целевом каталоге, а не содержимое папок. Проверьте корень с помощью --depth=immediates, упорядочите структуру каталогов по своему усмотрению, зафиксируйте.

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

1 голос
/ 12 июля 2011

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

...