SVN рабочий процесс - PullRequest
       0

SVN рабочий процесс

1 голос
/ 28 октября 2010

Я знаю, что это не связано с кодированием. Но это важно для кодирования, поэтому размещайте здесь.

Что означает Магистраль, Ветвь.

Как происходит процесс выпуска в SVN?

У меня 4 слоя.

  1. Машинный код разработчика.
  2. stage02
  3. stage03
  4. производство

из чего должен быть сделан багажник?

Ответы [ 2 ]

1 голос
/ 28 октября 2010

Вообще говоря, рабочий процесс обычно настраивается для конкретной команды / проекта.

Я работал со следующим рабочим процессом:

  • Багажник - это место для основных тенденций продукта. Содержит разрабатываемую версию или продукт.

  • Филиалы создаются для всех выпущенных версий продукта. Исправления и незначительные обновления производятся в филиалах (а затем собираются, тестируются и доставляются конечным пользователям). Подобные исправления также фиксируются в транке (или объединяются из ветви позже).

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

  • Машина разработчика сохраняет только рабочую копию, с версией, над которой сейчас работает разработчик. Разработчик часто делает обновления и исправляет все конфликты. Кроме того, разработчик часто делает коммиты с готовым кодом.

  • Продукт часто собирается и тестируется - это позволяет как можно быстрее находить вновь обнаруженные ошибки.

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

Я бы рекомендовал взглянуть и на распределенные системы контроля версий. Этот пост Джоэля Спольски дает отличное описание их основных преимуществ: http://www.joelonsoftware.com/items/2010/03/17.html

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

  • Активная разработка осуществляется в транке. Транковая версия установлена ​​на тестовых серверах.

  • Когда продукт принят к выпуску, создается новая ветвь. Эта версия установлена ​​на рабочем сервере.

  • Дальнейшая разработка продукта также производится в багажнике.

  • Исправления производятся в соответствующей ветке. Версия филиала тестируется на тестовых серверах, а затем доставляется в производство.

1 голос
/ 28 октября 2010

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

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

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