[ros-users] [Discourse.ros.org] [Quality Assurance] On (git) branching strategies

gavanderhoorn ros.discourse at gmail.com
Wed May 16 07:20:32 UTC 2018

Thanks for starting this. It's an interesting topic, but also one I feel is almost impossible to reach some sort of consensus on, as it appears it comes down as much to personal preference as it does to some objective measure of 'being better' (do a search on Git branching strategies, there are hundreds if not thousands of results.

[quote="carlosjoserg, post:1, topic:4785"]
The most critical thing to me is that, newer releases are not guaranteed to have bug fixes / new features. For instance, in the figure above, if `C3` gets accepted on `kinetic` for any reason, then it needs to be manually *forward* ported to `lunar` , that is, from an older version to a newer version, which does not seem right. No matter how often this might happen, there is the possibility that it might.

You also described this example workflow in https://discourse.ros.org/t/proposed-changes-to-the-ros-releases/4736/8 and I feel it's brought as describing a common practice, but I'm not convinced it is.

My experience is that PRs are expected to target the newest development branch and are then selected for backporting if it makes sense. PRs not targeting the latest branch will either be retargeted or rejected. At least, this is what I see in more 'mature' repositories. ROS being as distributed / federated as it is, this may be different for the repositories that you see often.

Managing things this way seems to already be rather close to what you are suggesting (single development line: latest branch, PRs target that by default, backporting, and "add stuff to older release branches").

[Visit Topic](https://discourse.ros.org/t/on-git-branching-strategies/4785/2) or reply to this email to respond.

More information about the ros-users mailing list