Задать вопрос
khusamov
@khusamov
ReactJS, NodeJS, TypeScript, Sencha ExtJS

Как правильно делать hotfix-ы для предыдущих релизов в рамках git flow?

Допустим я создал релизы 1.0.0 и 1.1.0
Потом пользователи 1.0.0 начали жаловаться, в итоге надо делать сборку 1.0.1 с исправлениями багов. Потому что они на 1.1.0 переходить не хотят.
И как мне в рамках git flow это делать?
У меня на master-е уже сидит 1.1.0.
Если я сделаю 1.0.1, то эти изменения пойдут на ветку master и develop. В итоге 1.1.0 будет перезаписан! Причем с конфликтами.
Как быть?
  • Вопрос задан
  • 2161 просмотр
Подписаться 4 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
dmitriylanets
@dmitriylanets
веб-разработчик
Если не хотят переходить то по сути они отказываются от поддержки , пригрозите этим, как вариант можно форкнуть проект и вести два проекта, но придется исправлять одни и те же баги что может быть проблемным, трудозатратным.
И какая причина нежелания минорного обновления, может просто нужно грамотно продать ?
Ответ написан
@Fyzu
Создать ветку на релизе 1.0.0, сделать фиксы и сделать релиз в этой ветке, ну и в дальнейшем поддерживать эту ветку.
Ответ написан
Sly_tom_cat
@Sly_tom_cat
.
На мой взгляд, вопрос болше "политический". чем технический.

Версии поддерживаемые нужно четко отделить от не поддерживаемых.
Так к примеру есть у меня проектик на питоне, и был он изначально на Python v2.7, но в какой-то момент меня достала "поддержка" юникода во втором питоне. Переполз на 3-й, но т.к. на некоторых платформах есть проблемы с отдельными библиотеками для третьего питона ветку со вторым питоном я отделил и объявил - "для ветки второго питона - только хотфиксы".
Ветка третьего питона уже так далеко ушла от второго, так что там фиксы для второго один в один просто не подойдут уже. Т.е. один и тот же код фикса я просто уже не могу влить в обе ветки (там в третьем питоне весь код уже переделан на ООП, а во втором - там чисто процедурный подход).

Вот примерно так я вижу и вашу ситуацию. Если люди хотят фикс в старой версии - то ваше право сделать одно из двух:
1. Отказать, сказав что старая версия более не поддерживается,
2. Сделать фикс в старую версию и отдельно сделать фикс в новую (вполне возможно что один в один код для фикса в новой может отличаться от фикса в струю)

А гит это просто инструмент, как им пользоваться - вы должны решить на основе выбранной политики по поддержке старых версий.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы