mirror of
https://git.rtems.org/rtems-docs/
synced 2025-10-19 21:09:27 +08:00
user: Document patch review process
This commit is contained in:
BIN
images/user/patch-review.png
Normal file
BIN
images/user/patch-review.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 65 KiB |
48
images/user/patch-review.puml
Normal file
48
images/user/patch-review.puml
Normal file
@@ -0,0 +1,48 @@
|
|||||||
|
' SPDX-License-Identifier: CC-BY-SA-4.0
|
||||||
|
|
||||||
|
' Copyright (C) 2019 embedded brains GmbH
|
||||||
|
|
||||||
|
@startuml
|
||||||
|
|
||||||
|
start
|
||||||
|
|
||||||
|
:Arrange your changes in\nan easy to review and\ncoherent patch series;
|
||||||
|
|
||||||
|
:Apply the checklist for patches;
|
||||||
|
|
||||||
|
:Invoke: ""git format-patch"";
|
||||||
|
|
||||||
|
:Send the patch series to devel@rtems.org for review;
|
||||||
|
|
||||||
|
:Set N to 1;
|
||||||
|
|
||||||
|
while (Reviewers demand changes in the patch series?) is (Yes)
|
||||||
|
:Do the required changes and create a new patch series;
|
||||||
|
|
||||||
|
:Update the commit messages accordingly;
|
||||||
|
|
||||||
|
:Apply the checklist for patches;
|
||||||
|
|
||||||
|
:Set N to N + 1;
|
||||||
|
|
||||||
|
:Invoke: ""git format-patch -v $N"";
|
||||||
|
|
||||||
|
:Document the changes from version N - 1 to N\nin the patch file after the "---" line;
|
||||||
|
|
||||||
|
:Send the patch series to devel@rtems.org for review;
|
||||||
|
endwhile (No)
|
||||||
|
|
||||||
|
if (Patch series was accepted by reviewers?) then (Yes)
|
||||||
|
:Push the patch series\nto the project repository;
|
||||||
|
|
||||||
|
note right
|
||||||
|
Push performed by an approved
|
||||||
|
RTEMS committer.
|
||||||
|
end note
|
||||||
|
else (No)
|
||||||
|
:Discard the patch series;
|
||||||
|
endif
|
||||||
|
|
||||||
|
stop
|
||||||
|
|
||||||
|
@enduml
|
@@ -12,10 +12,115 @@
|
|||||||
Contributing
|
Contributing
|
||||||
************
|
************
|
||||||
|
|
||||||
Developers can find help and support on the :r:list:`devel`.
|
How to Contribute?
|
||||||
|
==================
|
||||||
|
|
||||||
Technical documents including design, :r:url:`gsoc`, :r:url:`socis` can be
|
You can contribute to the RTEMS Project in various ways, for example:
|
||||||
found on the :r:url:`devel`.
|
|
||||||
|
* participation in mailing list discussions, helping other users
|
||||||
|
|
||||||
|
* documentation updates, clarifications, consolidation, fixes
|
||||||
|
|
||||||
|
* bug fixes, bug report consolidation
|
||||||
|
|
||||||
|
* new BSPs
|
||||||
|
|
||||||
|
* new device drivers
|
||||||
|
|
||||||
|
* new CPU (processor architecture) ports
|
||||||
|
|
||||||
|
* improvements in the existing code base (code size, code clarity, test
|
||||||
|
coverage, performance optimizations)
|
||||||
|
|
||||||
|
* new features
|
||||||
|
|
||||||
|
* RTEMS Tools improvements
|
||||||
|
|
||||||
|
Most contributions will end up in patches of the RTEMS source code or
|
||||||
|
documentation sources. The patch integration into the RTEMS repositories is
|
||||||
|
done through a
|
||||||
|
:ref:`patch review process <PatchReviewProcess>`
|
||||||
|
on the :r:list:`devel`.
|
||||||
|
|
||||||
|
Preparing and Sending Patches
|
||||||
|
=============================
|
||||||
|
|
||||||
|
The RTEMS Project uses Git for version control. Git has a special command to
|
||||||
|
prepare patches intended for mailing lists:
|
||||||
|
`git format-patch <https://git-scm.com/docs/git-format-patch>`_.
|
||||||
|
Create logically connected patches as a patch series ideally accompanied by a
|
||||||
|
cover letter (``--cover-letter`` option). You can send patches via email
|
||||||
|
through a Git command:
|
||||||
|
`git send-email <https://git-scm.com/docs/git-send-email>`_.
|
||||||
|
|
||||||
|
.. _ChecklistForPatches:
|
||||||
|
|
||||||
|
Checklist for Patches
|
||||||
|
=====================
|
||||||
|
|
||||||
|
Check the following items before you send a patch to the :r:list:`devel`:
|
||||||
|
|
||||||
|
* The author name of the patch is your full name.
|
||||||
|
|
||||||
|
* The author email of the patch is your valid email address.
|
||||||
|
|
||||||
|
* The licence conditions of the contributed content allow an integration into
|
||||||
|
the RTEMS code base.
|
||||||
|
|
||||||
|
* If you are the copyright holder of the entire patch content, then please
|
||||||
|
contribute it under the
|
||||||
|
`BSD-2-Clause <https://git.rtems.org/rtems/tree/LICENSE.BSD-2-Clause>`_
|
||||||
|
license. For documentation use
|
||||||
|
`CC BY-SA 4.0 <https://creativecommons.org/licenses/by-sa/4.0/>`_.
|
||||||
|
|
||||||
|
* Make sure you have a pregnant subject which does not exceed 50 characters in
|
||||||
|
one line. Use a "topic: The pregnant subject" style. A topic could be the
|
||||||
|
main component of patch. Just have a look at existing commit messages.
|
||||||
|
|
||||||
|
* The patch has a good commit message. It should describe the reason for the
|
||||||
|
change. It should list alternative approaches and why they were not chosen.
|
||||||
|
|
||||||
|
* The code changes honour the coding style. At least do your changes in the
|
||||||
|
style of the surrounding code.
|
||||||
|
|
||||||
|
* The patch contains no spelling mistakes and grammar errors.
|
||||||
|
|
||||||
|
* The patch is easy to review. It changes one thing only and contains no
|
||||||
|
unrelated changes. Format changes should be separated from functional
|
||||||
|
changes.
|
||||||
|
|
||||||
|
* If the patch corresponds to a ticket, it should have "Close #X." or
|
||||||
|
"Update #X." as the last line in the commit message to update status once it
|
||||||
|
is committed to the repository.
|
||||||
|
|
||||||
|
* The patch builds. All RTEMS tests link with this patch.
|
||||||
|
|
||||||
|
* The patch does not introduce new compiler warnings.
|
||||||
|
|
||||||
|
* The patch does not introduce new test failures in existing tests.
|
||||||
|
|
||||||
|
Patch Review Process
|
||||||
|
====================
|
||||||
|
|
||||||
|
Patches sent to the :r:list:`devel` undergo a
|
||||||
|
:ref:`patch review process <PatchReviewProcess>`.
|
||||||
|
Once a patch series is accepted for integration into the RTEMS code base it is
|
||||||
|
committed by an
|
||||||
|
`RTEMS maintainer <https://git.rtems.org/rtems/tree/MAINTAINERS>`_. The
|
||||||
|
maintainers are usually quite busy with all sorts of stuff. If you do not get a
|
||||||
|
response to a patch series submission to the mailing list after five work days,
|
||||||
|
please send a reminder. It helps if you follow the :ref:`ChecklistForPatches`.
|
||||||
|
An easy to review patch series which meets the quality standards of the RTEMS
|
||||||
|
Project will be more likely get integrated quickly.
|
||||||
|
|
||||||
|
.. _PatchReviewProcess:
|
||||||
|
|
||||||
|
.. figure:: ../../images/user/patch-review.*
|
||||||
|
:width: 70%
|
||||||
|
:alt: RTEMS Patch Review Process
|
||||||
|
:figclass: align-center
|
||||||
|
|
||||||
|
RTEMS Patch Review Process.
|
||||||
|
|
||||||
Why Contribute?
|
Why Contribute?
|
||||||
===============
|
===============
|
||||||
|
Reference in New Issue
Block a user