В компании, в которой я работаю, мы используем subversion и TortoiseSVN для управления нашим исходным кодом. Каждый проект разветвлен от ствола. Когда нам нужно интегрировать различные проекты для выпуска, мы создаем ветку выпуска, которая содержит код, который будет интегрирован, протестирован и развернут в производстве. Обычно у нас есть только одна ветвь релиза.
Однако недавно некоторые элементы в одном из проектов были отложены и должны были перейти к следующему выпуску. В результате кто-то попросил создать вторую ветвь релиза для хранения отложенных изменений и предотвращения их слияния с текущей версией.
Пока что это вызвало у нас много горя и много конфликтов дерева, так как некоторые элементы в будущей ветке выпуска зависят от элементов в текущей ветке выпуска. Единственный способ решить эти проблемы - подождать, пока не будет развернут текущий выпуск, слить ветку выпуска в ствол, объединить ствол в ветку будущего выпуска, а затем объединить изменения из ветви проекта в ветку будущего выпуска. .
В результате этой проблемы нам пришлось рекомендовать, чтобы у нас никогда не было более одной ветки выпуска, поскольку это вызывает проблемы слияния.
Однако мне интересно, если это правильный путь. Кто-нибудь знает, возможно ли управлять несколькими ветками релизов в Subversion? Конечно, должна быть возможность управлять функциями, которые задерживаются, не ставя под угрозу способность выполнять слияния.
Есть ли у кого-нибудь опыт в отношении сценария, который я представил, которым вы бы хотели поделиться? Я просто хотел бы знать, как я могу улучшить способ управления выпусками на моем рабочем месте, чтобы это больше не повторилось.