Как мне создать в Subversion ветку глубже, чем просто каталог веток?
У меня стандартная структура trunk
, tags
и branches
, и я хочу создать ветку, которая на несколько каталогов глубже тега «ветки».
Использование стандартного метода перемещения svn дает мне ошибку папка не найдена. Я также попытался скопировать его в папку веток, проверил его и «svn переместить» в нужную древовидную структуру, но также получил ошибку «отсутствует административная область рабочей копии».
Что мне нужно сделать, чтобы это создать?
Для иллюстрации предположим, что я хочу создать ветку, чтобы перейти непосредственно в «ветки / версия_1 / проект / подпроект» (который еще не существует)?
svn copy --parents http://url/to/subproject http://url/to/repository/branches/version_1/project/subproject
Это должно создать каталог, в который вы хотите поместить подпроект (--parents
означает «создать для меня промежуточные каталоги»).
Если вы используете TortoiseSVN
, вы можете использовать его Проводник репозитория для таких вещей. Делает все довольно просто.
Поскольку Subversion на самом деле не считает ветки чем-то особенным, кроме дополнительных каталогов, вы всегда можете просто создать нужное дерево каталогов (с помощью svn mkdir), а затем скопировать нужный код в местоположение дерева.
Или просто используйте упомянутый флаг --parents @BlairC.
Во-вторых, я использую TortoiseSVN, просто щелкните каталог правой кнопкой мыши и перейдите в TortoiseSVN-> Branch / tag ..., чтобы быстро создать ветку в указанном каталоге. Обязательно укажите URL-адрес, который вы хотите, в появившемся диалоговом окне «Копировать (ветвь / тег)».
SVN
на самом деле не управляет вашими филиалами. Он просто делает оптовую копию. Вам решать, как вы хотите этим управлять.
Дох! Не видел этого в инструкции. Думаю, все еще неплохо иметь в качестве справки.