Привет. Мы разрабатываем фреймворк и библиотеки к нему, с помощью которых делаем проекты. В качестве методологии ветвления используем
gitflow, и все было хорошо, когда версии библиотек шли друг за другом. То есть 0.1, 0.2...0.40
Но пришло осознание, что версии нужно давать правильно. Мы решили использовать
семвер, и как раз выкатили большие обновления, сломали обратную совместимость. Версии пошли 1.0, 1.1, 1.2
Вроде все здорово - семвер, гитфлоу - но вдруг нашли баг, который есть и в 0.x и в 1.x. И не все наши проекты есть возможность перевести на актуальную ветку библиотеки и придется поддерживать 0.x какое то время. Возможно длительное.
Гитфлоу такое поведение не регламентирует, на сколько я понял. Нельзя создать хотфикс из 0.40 и влить его в мастер, в котором уже 1.2.
Я видел, что в репе node.js на гитхабе создаются отдельные ветки на каждый релиз: release-v6.x, release-v5x. Но не понял, как они с ними работают.
Отсюда возникает возникает вопрос. Может быть кто то знает и использует методологию, с которой эти проблемы решаются сами собой. И может быть даже есть инструмент, который будет все делать сам, как git-flow :)
Гуглить пробовал. Находил предложение legacy-релизы перемещать в support/* но идея мне кажется так себе.