Мы используем стратегию «магистраль, тег, ветвь и поток».
«Сундук» - это место, где предполагается разместить самую последнюю версию того, что находится в производстве.
«Тег» - это место, где происходит «копирование в», когда поток завершен, и нам необходимо сохранить состояние потока для архивных целей. Это также позволяет продолжить разработку с определенной точки.
«Ветвь» - это когда происходит нечто совершенно иное, чем обычная разработка. Обычно ветки очень редки.
«Потоки» - это то, что мы чаще всего используем. Поток разработки - это фокус на основе задач, такой как поток для определенного исправления или разработки (например, завершение запросов на изменение). Потоки могут объединяться друг с другом, но разные потоки ранжируются на основе стратегии SVN. Например, у нас был один поток для выпуска cr, а другой - для выпуска релизов поддержки приложений. Так как поток CR должен был включать исправления поддержки приложения в дополнение к его собственным изменениям, он был оценен выше. Потоки с более высоким рейтингом имеют более низкие потоки (при необходимости), объединенные в них. Наконец, поток становится готовым к производству. Он помечается и затем «копируется» в транк, который затем используется (как правило, хотя иногда используются теги) в качестве основы для дальнейших потоков.
Однако лучше всего использовать потоки для коротких задач, выполнение которых занимает менее двух недель. Эти потоки могут быть быстро объединены в несколько потоков с более высоким рейтингом, которые затем объединяются в любые другие потоки с более высоким рейтингом. Например, поскольку поддержка приложений была ниже, чем cr, любое быстрое исправление поддержки приложения можно было скопировать в поток, а затем обработать, объединить с поддержкой приложения, которая затем будет объединена с потоком cr.