Запретить слияние с master, если ветвь зафиксировала сообщения с определенными критериями
Мы используем Bitbucket Server в качестве нашего исходного хранилища. Я не уверен, имеет ли это отношение к этому, если это можно решить с помощью ванильного мерзавца.
У нас есть текущий рабочий процесс:
Разработчик фиксирует ветку, создает пулл-запрос. Рецензенты отвечают обратной связью с кодом, и разработчик продолжает делать фиксы фиксации на основе обратной связи, которая в конечном итоге будет отклонена после одобрения ветки. Это позволяет рецензентам нажимать на коммит и видеть различия между исходным pr (который они уже просмотрели) и изменением, основанным на обратной связи. Чтобы облегчить распознавание рецензентов, все фиксы фиксации имеют префикс "FIXUP" в своем сообщении фиксации.
Этот рабочий процесс работает очень хорошо для нас, однако иногда разработчик забывает перебазировать фиксации фиксации в их ветку, и мы заканчиваем с нашей главной веткой, имеющей кучу сообщений фиксации под названием FIXUP:...
Можно ли написать ловушку, которая предотвращает слияния с мастером, где есть коммиты с сообщениями, начинающимися с определенной строки? Кроме того, возможно ли сделать это очевидным в пользовательском интерфейсе bitbucket?
РЕДАКТИРОВАТЬ: Между ответом GlennV и Git Hook: убедитесь, что каждое слияние с мастером имеет сообщение, а также автоматические слияния, я думаю, что я могу получить некоторую работу, спасибо всем!
1 ответ
Вы можете реализовать пользовательские предварительные подключения, которые будут выполняться на сервере Bitbucket, с помощью (коммерческого) дополнения Script Runner.
Он имеет ряд встроенных сценариев "ловушки перед получением", которые будут выполняться в Bitbucket, когда кто-то делает push, и в зависимости от результата, push принимается или отклоняется, и человек, который выполняет push, получает сообщение с описанием возможных проблем., Вы также можете реализовать свои собственные скрипты "pre-receive hook" в Groovy.
У нас есть множество собственной логики, реализованной в наших собственных скриптах, так что определенно возможно получить искомое поведение.