С Vault, следует ли отдавать предпочтение меткам или ветвям при изоляции баз кода выпуска? - PullRequest
1 голос
/ 04 июня 2009

При изоляции кода для выпуска есть ли преимущества использования «меток» над «ветвями».

Процесс, которому мы следуем, состоит в том, чтобы ветвить код рядом с выпуском и стабилизировать выпуск в ветке. После утверждения релиза SQA мы объединяем изменения обратно в основную линию.

Другие группы разработчиков используют метки для «изоляции» базы кода, используемой для выпуска. Мне не нравится это по следующим причинам (которые могут быть неправильными):

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

Мысли приветствуются.

1 Ответ

4 голосов
/ 30 июля 2009

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

Вот как я об этом думаю:

Код в транке - это код, который собирается в производство. Если там есть код, который не будет использоваться в следующем выпуске, этот код следует переместить в ветку.

Затем используются ветви для отслеживания будущих разработок. Итак, завтра создайте ветвь (ветвь A) из ствола и начните добавлять функцию A. Как только SQA утвердит ветвь A, объедините ее обратно в ствол и отправьте ствол в производство.

Обратите внимание, в этом случае, что Патч X может быть сделан в ствол. Вам может понадобиться простое изменение в 1 строку и быстрый тест и регрессионный тест SQA для проверки исправления X. Но поскольку функция A разрабатывалась в ветви, она не задерживала выпуск исправления X.

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

...