...
REVISIT: This section is incomplete! Please leave the bulletpoints above as-is, and develop the text in new subheadings below.
Reference For Committers
This section is a guide and reference for committers regarding how to carry out all the steps to process a proposed change from start to finish.
"Start" means that someone contributes a potential change via:
- A GitHub Pull Request (PR), or
- A textual pull request generated with 'git request-pull' and delivered by email, or
- A patch delivered by email.
"Finish" can mean one of:
- Applying the change to master, or
- Requesting additional work from the contributor (i.e., fixing compile errors/warnings, logic errors found in the contributed code, etc.), or
- Rejecting the change because it doesn't meet the needs of the project (e.g., violates the INVIOLABLES or would take the project in a direction that doesn't fit the project mission).
Even veteran NuttX developers and committers are encouraged to read this section and refer back to it, to make their work easier and also to avoid mistakes that might mess up the upstream repositories.
How to Review Changes
Changes should be reviewed to ensure they meet the Criteria For Acceptance described above.
REVISIT: How much "reviewing" is a committer expected to do before deciding that a change should be applied (or sent back for additional work, or rejected outright).
REVISIT: What steps should a reviewer actually take? (I.e., should they bring the change to their local computer and try to build a configuration that includes the change?)
How to Process Changes
Committers who use GitHub can benefit from various conveniences and collaboration tools that GitHub offers as part of the platform.
However, we recognize that some committers cannot or will not use GitHub for various reasons. Therefore, we support both possibilities: GitHub and Plain GIT (Non-GitHub).
GitHub
This section explains to committers how to process changes using GitHub.
GitHub Pull Request (PR)
REVISIT: How to process changes that arrive via GitHub Pull Request.
Emailed Textual Pull Request
REVISIT: How to convert these to a GitHub Pull Request (and then proceed from above).
Emailed Textual Patch
REVISIT: How to convert these to a GitHub Pull Request (and then proceed from above).
Plain GIT (Non-GitHub)
This section explains to committers how to process changes using plain GIT (without GitHub).
GitHub Pull Request (PR)
REVISIT: Is there a way for someone who cannot access GitHub to get access to a change?
Emailed Textual Pull Request
REVISIT: How to process these SAFELY using plain GIT (without messing up the upstream repositories).
Emailed Textual Patch
REVISIT: How to process these SAFELY using plain GIT (without messing up the upstream repositories).