Expectations in the source code modifications
Contents
There is several types of modifications which can be done into the source code. Each one of them has some requierements to be accepted into Scilab source tree.
General
As much as possible, each commit must be atomic. That means that any modification could be cherry-pick to an other branch out of the box.
Any modification should update the CHANGES_X.
Type of commits
New feature
This modification is the one which has the most of requierements.
Write a SEP.
Send a email on dev@lists.scilab.org to discuss the SEP.
- Write a new function in Scilab.
- Write the unit test (.tst) (in modules/*/tests/unit_tests)
- Create a reference (test_run("module_name","new_function","create_ref"))
- Write help page.
- Update build process if needed
- Update of the CHANGES_X
The commit comment should have a reference to the SEP number.
Bug fix
A bug fix can be also a performance improvement, an update of the documentation, etc. Please refer also to the appropriate section.
- The modification in the code
- The non regression tests
- Update of the CHANGES_X
See also How to close a bug in Scilab
The commit comment should have a reference to the bug number.
Performance improvement
- The modification in the code
- If possible, the code used to benchmark (stored into modules/xxx/unit_tests/benchmark)
- Update of the CHANGES_X if the performance gain is important
Documentation
- The modification in the documentation
- The french translation updated if already available
- Update of the CHANGES_X if the modification on the documentation is important
Tests
- The test added in the code
- The reference of the test (test_run("module","test","create_ref")
- Update of the CHANGES_X if the new test is important
Update of the build process
- The modification in the build process (autotools and Visual project)
- Update of the CHANGES_X if the modification is important