Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update guidance on choosing a base branch #574

Open
wants to merge 2 commits into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 14 additions & 3 deletions contributing.md
Original file line number Diff line number Diff line change
Expand Up @@ -162,10 +162,21 @@ get acquainted with this development process.

1. **Choose a base branch.**
- If your changes will break API or ABI, then base your new branch off of `main`.
If this package's `main` branch is not part of the upcoming Gazebo collection,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Might not be easy but I think that we should drive to simplify rules so people that read "Choose a base branch" with the intention of coding as soon as possible don't fall into too much effort to start that. This main branch procedure that is well described seems something more designed for the core team than for the newcomers.

For newcomers, different difficulties are here: what is a collection? Which is the upcoming collection nowadays? How can I check if main branch is part of any collection? Why I need to create an issue if all I what to do is to send a PR?.

create an issue on the package repository asking its `main` branch to be added
to the next collection.
For example, at the time this documentation is being written the upcoming Jetty
collection is [using the gz-cmake4 branch](https://github.com/gazebo-tooling/gazebodistro/blob/bc0de6a86d6ab84106f208395969353d43b18dac/collection-jetty.yaml#L6)
rather than `main`, which means gz-cmake's `main` branch is actually not part
of a collection yet.
- If you are making interdependent changes to multiple repositories without
breaking API or ABI, it is also recommended to base your new branches off of `main`
to simplify automated testing of the changes and the review process. Your
changes may be backported to an existing release once all the changes
breaking API or ABI, it is recommended to base your new branches off of
the branch used in the upcoming collection
to simplify automated testing of the changes and the review process.
For example, at the time this documentation is being written the upcoming Jetty
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If we have Jetty open for development, should be fine to merge ABI/API breaking changes here?

collection branches are documented in
[gazebodistro](https://github.com/gazebo-tooling/gazebodistro/blob/master/collection-jetty.yaml).
Your changes may be backported to an existing release once all the changes
have been merged.
- If your changes don't break
API/ABI and you would like them to be released to an existing release
Expand Down