Адаптируйте существующий репозиторий к структуре ствола / ветви Subversion - PullRequest
1 голос
/ 13 марта 2019

Я начал работать над уже существующим проектом, который использует Subversion для контроля версий. Раньше я использовал только Git, так что я изучал различные учебники SVN. Почти все они используют структуру файла trunk / branch / tag для проекта. Я хотел бы сделать то же самое, так как я буду одновременно редактировать проект (результаты передаются мастеру), а также самостоятельно выполнять пользовательские операции (результаты сохраняются локально). Тем не менее, проект не имеет этого формата; .svn находится в корневой папке.

Как создать ветки для проекта, организованного таким образом? Я попытался создать свой собственный репозиторий (svnadmin create) со структурой trunk / branch / tag и затем извлекать проект в trunk, но я не могу понять, как сделать мой корневой проект каталог рабочая копия. (svn relocate требует, чтобы то, куда я пытаюсь переместиться, само по себе является рабочей копией.) Даже использование svnadmin вообще кажется неправильным, поскольку это создаст хранилище, членом которого является также хранилище, и выполнение этого не добавит .svn в эту корневую папку.

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

Редактировать: Я нашел Ветвление Subversion без канонической структуры каталогов . Это имеет некоторые из тех же элементов. Однако, поскольку я не являюсь администратором или руководителем проекта, я хочу иметь возможность получать удаленные обновления до trunk. Перемещение по папке .svn не кажется правильным.

1 Ответ

0 голосов
/ 13 марта 2019

Хорошо .... Я написал что-то, что было ответом на другой вопрос в целом, извините за это ... так что позвольте мне попробовать получить:

Так же, как наВ моем предыдущем ответе проблема с корнем осталась прежней: вы хотите заняться svn с помощью мышления git ... и это невозможно.Итак ...

Как вы можете создавать ветки и вещи, которые останутся локальными: вы не можете .... с помощью SVN.В отличие от git, в svn есть один репозиторий, в котором хранится все (кроме рабочей копии другого разработчика).Все ветки, теги, ревизии и т. Д., Они там, в одном месте ... на рабочих копиях не осталось много ... и нет веток за пределами центрального репо.

Но тогда.... хитрость в том, что я сказал с SVN .Если вы используете git, вы можете воспользоваться плагином git, который можно использовать для перехода между git и svn.Это позволит вам синхронизироваться с SVN-репо так же, как если бы это был git remote , и вы можете использовать такие преимущества git, как локальные ветви.

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

https://git -scm.com / docs / git-svn

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...