Недавно я наткнулся на статью MSDN о ветвлении и слиянии и SCM: Учебник по ветвлению и слиянию - Крис Бирмеле .
В статье говорится, что «слияние большого взрыва» - это антипаттерн слияния:
Big Bang Merge - отложенная ветвь, сливающаяся до конца разработки и пытающаяся объединить все ветви одновременно.
Я понял, что это очень похоже на то, что делает моя компания со всеми производимыми отраслями.
Я работаю в очень маленькой компании с одним человеком, выступающим в качестве окончательного обзора + полномочия по слиянию стволов. У нас есть 5 разработчиков (включая меня), каждому из нас будет назначено отдельное задание / ошибка / проект, и каждый из нас отделится от текущего транка (subversion), а затем выполнит работу по разработке в нашей ветви, протестирует результаты, напишет документацию при необходимости проведите экспертную оценку и обратную связь с другими разработчиками, а затем отправьте ветку на проверку + объедините наше программное обеспечение для управления проектами.
Мой босс, единственный авторитет в репозитории ствола, фактически откладывает все проверки веток до момента, когда он будет выполнять обзоры столько, сколько он может, некоторые ветви будут отброшены для улучшений / исправлений, некоторые ветви будут сливаться прямо в ствол, некоторые ветви будут отброшены из-за конфликтов и т. д.
Мы нередко имеем 10-20 активных веток, которые находятся в финальной очереди просмотра и объединяются в транк.
Нам также часто приходится разрешать конфликты на заключительном этапе проверки и слияния, поскольку две ветви были созданы из одной и той же магистрали, но изменили один и тот же фрагмент кода. Обычно мы избегаем этого, просто переразбивая магистраль и повторно применяя наши изменения и разрешая конфликты, а затем отправляя новую ветку на проверку (ребаз плохого человека).
У меня есть несколько прямых вопросов:
- Мы демонстрируем тот самый анти-паттерн, который был описан как «слияние большого взрыва»?
- Некоторые из проблем, которые мы видим в результате этого процесса слияния?
- Как мы можем улучшить этот процесс слияния, не увеличивая узкое место моего босса?
Изменить: Я сомневаюсь, что мой босс ослабит свою хватку в хранилище ствола, или позволит другим разработчикам сливаться с стволом. Не уверен, каковы его причины, но я не собираюсь поднимать эту тему, потому что она поднималась раньше и сбивалась довольно быстро. Я думаю, что они просто не доверяют нам, что не имеет смысла, потому что все равно отслеживается.
Любое другое понимание этой ситуации будет оценено.