Папки SVN по умолчанию - должны ли они использоваться? - PullRequest
5 голосов
/ 21 апреля 2009

Я видел репозитории в SVN, которые по крайней мере не создавали локальную папку транка, веток и тегов на клиенте. Так требуются ли папки по умолчанию для использования с SVN (я использую черепаху) или как? Я не понимаю, почему у некоторых людей есть папки, а у некоторых нет в некоторых реализациях репозиториев.

Ответы [ 4 ]

11 голосов
/ 21 апреля 2009

Как уже говорили другие, не обязательно иметь ствол / ветви / теги. Эти папки не имеют никакого особого значения для Subversion, это просто лучшая практика, которую вы можете использовать, если она соответствует вашим потребностям.

Но так как вы упомянули TortoiseSVN, есть одна маленькая деталь: Черепаха предупредит вас, когда вы попытаетесь зафиксировать подпапку / tags . Он гарантирует, что тег не будет изменен после его создания (еще одна лучшая практика).


Обновление (в ответ на ваш комментарий):

В лучших рекомендациях говорится, что в вашем хранилище должны быть папки "ствол", "ветки" и "теги". Один из способов (возможно, самый распространенный) для использования этих папок:

  • ствол - место, где происходит основное развитие.
  • теги содержит снимки (копии) важных версий / версий вашего исходного кода (например, выпусков, таких как 1.0, 1.1, 2.0).
  • ответвления используются для обслуживания более старых версий, например, ваш продукт имеет версию 2, тогда вам нужно исправить ошибку в версии 1.0 (вы можете скопировать свой тег 1.0 в новую ветку и внести в него изменения).

Теперь в subversion все папки (ствол, теги, ветви) являются "обычными" папками. Теперь они имеют особое значение, и Subversion не рассматривает их как-либо иначе (например, вы можете изменить то, что у вас есть в /tags/1.0).

TortoiseSVN пытается применять передовые практики, предупреждая вас, когда вы пытаетесь зафиксировать тег (поскольку обычно вы хотите сохранить теги, чтобы они могли в любой момент перестроить более старую версию вашего продукта).

6 голосов
/ 21 апреля 2009

Абсолютно не требуется. Многие компании считают это наилучшей практикой, и наличие директорий магистральных / отраслевых каталогов хорошо работает во многих программных средах и кажется более знакомым тем, кто работает с cvs и т. Д.

Примером, когда он неоптимален, является хранение веб-сайта в Subversion. Несколько компаний, в которых я работал, имеют каталоги Devel и Live. Работа выполняется в каталоге Devel и объединяется с каталогом Live, когда горит зеленый свет.

Однако, как сказал Грег, вам определенно требуется каталог SOME в корневом каталоге, но для конкретной структуры требования не требуются.

4 голосов
/ 21 апреля 2009

Поскольку единственный способ пометить или создать ветку в Subversion - это сделать копию в каком-то другом дереве, отсутствие стандартных каталогов trunk / tags / branch не позволяет вам когда-либо создавать копию своего хранилища в расположении, которое находится «снаружи» каталог вашего проекта. Если вы когда-нибудь захотите пометить или разветвить, не имея каталогов по умолчанию, вы просто создадите их и все равно будете перемещать свой проект.

0 голосов
/ 15 мая 2009

Это не отвечает на ваш вопрос, (другие уже имеют), но если вы хотите только транк, просто укажите это при первоначальном получении / оформлении заказа.

...