Если у вас есть папки для веток, тегов и стволов даже для небольших проектов? - PullRequest
7 голосов
/ 22 февраля 2009

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

Итак, я все еще должен придерживаться соглашения о папке trunk / branch / tag, даже если я уверен, что каталоги branch / tag не будут использоваться для небольших проектов? Я просто чувствую, что это может быть излишним.

Мысли об этом?

Ответы [ 6 ]

19 голосов
/ 22 февраля 2009

Чтобы ответить на вопрос прямо в заголовке: нет, не нужно. Репозитории SVN могут быть организованы в любую структуру папок, которую вы выберете.

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

6 голосов
/ 22 февраля 2009

Я использую каталоги branch / tag / trunk в Subversion даже для тривиальных проектов. Это в значительной степени нулевая стоимость и стоит этого в последовательности. Я всегда знаю, как будет выглядеть мой проект, если мне когда-нибудь понадобится оформить заказ.

2 голосов
/ 22 февраля 2009

Они условны, так что мешает добавить их. Если ваш проект дошел до того места, где они вам нужны, то гораздо проще иметь их на месте с самого начала, чем пытаться добавить их по факту.

0 голосов
/ 22 февраля 2009

По моему опыту, организация 'trunk / branch / tag' - довольно хорошо используемая схема управления исходным кодом. Я видел, как это реализовано во многих различных организациях, использующих различные инструменты (ClearCase, SVN, CVS и многие другие). Настройка ClearCase, с которой я сейчас работаю, немного сложнее (сложнее?), Но, вообще говоря, имеет очень похожую схему.

Хотя это не требуется в SVN, я настоятельно рекомендую привыкнуть к такому типу компоновки, включая объединение в / из разных ветвей и магистрали.

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

0 голосов
/ 22 февраля 2009

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

Как разработчик, состоящий из одной армии, я все еще находил полезными ветвления / пометки, когда:

  1. Мне нужно сделать экспериментальную ветку, не отказываясь от текущего рабочего источника. Я объединю его, если экспериментальный код окажется лучше.

  2. Если у меня есть несколько отдельных компонентов, может быть полезно пометить каждый из них именем, обозначающим номер версии проекта, и поместить их в папку тегов, названную в честь проекта. Это помогает следить за тем, чтобы вернуться к версии 1.0.5.10 и узнать, что изменилось в компоненте Foo. Примечания о фиксации могут быть недостаточно информативными.

0 голосов
/ 22 февраля 2009

В моем SVN-репозитории у меня есть один каталог trunk / branch / tag. Я помещаю все свои проекты в транк и организую свои каталоги ветвей и тегов отдельно, основываясь на проектах, которые фактически достигают состояния taggable. Соглашение может предлагать использовать каталог branch / tag / trunk для каждого проекта, однако это может быть нецелесообразно, если вы не планируете использовать тегирование и ветвление.

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

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