Если мы будем работать только с одной веткой в Subversion, стоит ли вообще беспокоиться? Разве мы не можем просто работать над стволом, чтобы ускорить процесс?
Вот как мы развиваемся с Subversion:
- Есть сундук
- Мы делаем новую ветку разработки
- Мы разрабатываем новую функцию в этой отрасли
- Когда функция завершена, она объединяется в ствол, ветка удаляется, и из ствола создается новая ветвь разработки.
Когда мы хотим выпустить в производство, мы делаем тег из ствола. Исправления сделаны на ветке из этого тега. Это исправление затем сливается в ствол.
Вот почему мы делаем новую ветвь разработки после того, как функция будет завершена. Таким образом, исправление будет достаточно быстро включено в наш новый код.
Ниже приведена схема, которая должна уточнить:
Теперь есть ощущение, что это не самый эффективный способ работы. Мы строим локально, прежде чем совершить коммит, что занимает около 5-10 минут. Вы можете понять, что это довольно длительное время ожидания.
Идея ветки разработки заключается в том, что транк всегда готов к выпуску. Но это не так в нашей ситуации больше. Иногда функция почти готова, и некоторые разработчики уже начнут кодировать следующую функцию (в противном случае они будут сидеть сложа руки в ожидании завершения одного или двух разработчиков и объединения).
Затем, когда функция 1 завершена, она объединяется в транк, но с некоторыми фиксациями функции 2.
Итак, должны ли мы вообще заниматься веткой разработки, поскольку у нас только одна ветка? Я читал о разработке на основе соединительных линий и ветвлении за абстракцией, но большинство статей, которые я нашел, сфокусировано на части ветвления за абстракцией. У меня сложилось впечатление, что для больших изменений, которые будут охватывать несколько выпусков. Это не проблема, которую мы имеем.
Что вы думаете? Можем ли мы просто работать на стволе? В худшем случае (я думаю) нам нужно сделать тег из ствола и выбрать нужные нам коммиты, потому что некоторые коммиты / функции еще не готовы к производству.