Какой должен быть git workflow, что бы можно было безболезненно поддерживать старые версии проекта?

Привет. Мы разрабатываем фреймворк и библиотеки к нему, с помощью которых делаем проекты. В качестве методологии ветвления используем 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/* но идея мне кажется так себе.
  • Вопрос задан
  • 1041 просмотр
Решения вопроса 1
@aol-nnov
> Я видел, что в репе node.js на гитхабе создаются отдельные ветки на каждый релиз:
и
> предложение legacy-релизы перемещать в support/*

это, грубо говоря, одно и то же. ну, в терминах гит флоу, будет у тебя не один мастер, а по мастеру на каждую версию.
Сам же говорил, что изменения ломающие и не совместимые.. как же ты их собрался в одном мастере хранить?
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Но ведь по gitflow support-ветки как раз и предназначены для поддержки старых релизов без вливания в мастер.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы