Contributing
Contributions to DCM are welcome. We follow the Github flow development model for both source code and documentation.
Below we explain specific testing required by this project in order to submit changes, and also how to open a pull request.
Pre-Submission Tests
Before submitting PRs for source code changes, check coding style, check for memory leaks, and test on real hardware.
Coding Style
Check coding style using tools/checkpatch:
./tools/checkpatch
Memory Leak Testing (Valgrid)
Check for memory leads using valgrind.
In order to avoid seeing a lot of glib and gstreamer memory leak false-positives, run valgrind using the following command:
GDEBUG=gc-friendly G_SLICE=always-malloc valgrind --suppressions=valgrind.supp --leak-check=full --track-origins=yes --show-possibly-lost=no --num-callers=20 ./dcm
How to Open a Pull Request
- First fork and clone the project project.
- Create a feature branch off master
git checkout -b mydescriptivebranchname
Always branch off master for new features.
Commit your changes with a descriptive commit message.
- Include context information, what was fixed, and an issue number (Github will link these then conveniently)
Example:
Support new camera type - Fixes a typo - Adds specific xml config file Fixes issue #123
Test your changes as described above (we may ask you for test results in your PR).
- Push changes to your repo:
git push origin mydescriptivebranchname
- Send a pull request to merge changes in the branch.