All OpenMAMA code submissions must be made through GitHub’s Pull Request feature.
For anyone not familiar with this workflow, a great tutorial example can be seen here.
If there is some significant new functionality incoming, it is mandatory that this change comes bundled along with suitable new unit test coverage.
These tests must be runnable via the OpenMAMA’s project CI environment across all supported platforms.
If further changes are required for CI to work with these new changes across all platforms, those changes are expected to be made as part of the pull request being raised.
All commit messages should begin with a short one line summary of the patch. As noted above, the aim is to keep this line to around 50 characters. It should always begin with an indication to the subsystem which it impacts - for example changes to the OpenMAMA C code should be prefixed with MAMAC, common code changes COMMON etc.
Following this should be a short but clear description of the change included by the patch. “Fixes bug” is not likely to be accepted, but “Fixed memory leak in queue shutdown code” is better.
# Example
MAMAC: Improved cleanup of MamaQueue during shutdown
QPIDMSG: Fix core when pulling tail from msgPool
Following the summary line there should be a single blank line, and then a larger description of the fix which is being committed. This should provide enough information for someone looking at the fix to understand what changes exactly have been made, and the rational for them. If required this should give detailed technical notes of the change, but try to apply common sense - readers of the code will be happy to have some insight into the fix, but most of them won’t want to read a short story.
As noted elsewhere, OpenMAMA follows the signed-off-by approach when accepting code submissions. This basically means that any developer submitting code to the project signs off that they are legally allowed to do so. It also helps track who authored certain lines of code, making it much clearer who to talk to if problems arise.
As such, each commit message should end with a single “Signed-off-by: “ line. Git will generate this for you if you add -s
to the git commit
command.
Signed-off-by: Damian Maguire <damian@openmama.org>
If you haven’t followed the commit guidelines perfectly on your feature branch, don’t worry. If you provide a summary of what you want to be the “final” pull request submitted, we can squash all your commits on your feature branch with the commit message that you provide on the ticket instead.
QPIDMSG: Removing memmove from msg critical path
Improving the performance of the setByteBuffer call within payload.c
by removing an unnecessary memmove call. Instead we replace it by
allocating a buffer which is a single byte larger, and then passing
this start of this buffer offset by this byte to the subsequent
underlying proton call. This forces Proton to write the data already
shifted, so we have no need to move it again.
Signed-off-by: Damian Maguire <damian@openmama.org>