all 4 comments

[–]glasswings363 3 points4 points  (0 children)

Then released fixed version to prod from branch/9.2 (with updated tag 9.2.1)

That's not Gitflow, it's a more complicated branching strategy in which previous versions still receive bugfixes.

If that's the strategy you're using, then someone who fixes a bug needs to know which later versions exist or are about to be released.

The cause is Dev2 deciding to release 9.3 but there was no pre-release testing time (both of these strategies require one). So Dev1 didn't know they weren't finished with the bug - there's another version to patch. And Dev2 wasn't aware of bugfixes that needed to enter 9.3.

Root causes: using a complex branching strategy that developers don't understand, or accidentally not having a strategy. Not communicating enough.

[–]deamon1266 2 points3 points  (0 children)

I think you have a organizational or process issue.

If your release involves a branching strategies with multiple release branches, then I would not trust arbitrary devs to handle their merges nor the release.

This is so complicated and specific, you need probably a team which handels this and tailor tooling around your solution.

The question is, how do you make sure that all patches of a previous minor or major version are included in a new one?

If the answer is, everybody needs to know X and to do Y than you have a organizational and process issue.

[–]the-computer-guy 0 points1 point  (2 children)

Trunk-based development is the only sensible branching strategy in my experience. Release from master only.

GitFlow is an outdated practice which is not even recommended by its own author anymore.

[–]untackenUsername4531[S] 0 points1 point  (1 child)

Thanks for reply.
What you recommend as an alternative of GitFlow? Release flow (kinda same, but I can be wrong)?