Closed clalancette closed 2 years ago
In #138, @clalancette wrote:
I'll go ahead and make the branch, though I'm not entirely sure we should keep them synced and using the same matrix. That is, it would be simpler to just have the humble branch test against humble, and the rolling branch against rolling. It requires a bit more work to backport everything, but I think it is much simpler for users to understand.
I don't think it's simpler for users to understand. Inevitably, we'll forget to back-port some PRs, and they'll be back-ported later out of order. Is it really simpler to see at a glance if the code between the two branches is identical if we let them diverge for no real reason? So my argument is that it's not only more work for us but also more confusing for users. All repos I've seen that used this "let it diverge" approach have had similar problems - PRs forget to be back-ported, maintainers lose track of what's back-ported and what isn't, bugs get hard to debug because you have so many different versions of your software that you're trying to maintain at the same time, and because it's so much work for the maintainers, support for older LTS ROS versions is often dropped prematurely.
In the past, I've had very good experiences with the following approach:
humble
and rolling
). This is useful even if they are identical at the start because when they diverge later, all users already have checked out the appropriate branch and won't get any updates that are meant to be only for a later ROS version. It also means that we don't have to update the branch name in the rosdistro repo, because the semantics of the branch never change - humble
will always remain the branch for humble
.noetic
and melodic
were in sync. At that point, the CI config should also be changed so that future commits are only tested against the newer (resp. older) ROS distro.Of course, all of that is only a suggestion. If you prefer to do it your way, that's fine too!
@clalancette : Any opinions? If you really prefer branching off now, we can do that. It's up to you.
@mintar Sorry for the delay here.
I think your approach is the best of both worlds; we branch off (so it is easy to tell at a glance that the humble
branch belongs to Humble), but we also ensure that backports are done to all supported branches simultaneously.
So with that in mind, then, I think what we would do here is to close this PR and instead open one that targets rolling
, and adds in humble
to the test matrix. Once we merge that, we would fast-forward that to the humble
branch, and then going forward we would continue doing that unless/until we need to do some breaking change. Does that match with your understanding?
Yes, that matches my understanding exactly!
Also make one small fix the README while we are here.
Signed-off-by: Chris Lalancette clalancette@openrobotics.org