Я согласен с вашим подходом и подходом Криса Камински. Мы используем StarTeam, и это то, как мы его используем. Представление «Подсказка» или «Главное» в каждом проекте является текущей линией разработки (в терминах StarTeam это представление по умолчанию, имя которого совпадает с именем проекта). Каждый раз, когда мы собираемся на основе этого представления, наш сервер сборки создает метку сборки. Выпуск сделан с определенной меткой сборки.
Затем мы создадим новое представление для этой метки в качестве ветви выпуска выпуска, а затем любые исправления ошибок в выпуске будут применены к этому представлению (независимо от того, выполняются ли исправления ошибок в представлении Tip и объединяются с ответвлением или наоборот). Версия не имеет значения, если они объединены с основным представлением "Разработка").
Кроме того, если у нас есть конкретный проект, который будет работать долго и не будет завершен до следующего обычного производственного выпуска, мы сделаем ветвление в представлении «Подсказка» с настройкой «Ветвь при изменении». Это определенно не идеально, так как после его завершения должно быть выполнено много слияний, но оно не позволяет этому коду выйти за пределы основной линии разработки и гарантирует, что оно не может случайно оказаться в производственном выпуске. Мы пытаемся ограничить эти типы проектов, но иногда деловые люди диктуют их.
Эта установка очень хорошо сработала для нас, и, кажется, новичкам легко понять и работать с ней.