| 2 | | == Policy == |
| 3 | | * CIVL team requires any contributor to conform following rules when contributing to CIVL: |
| 4 | | 1. Create a new branch for new features you want to add into CIVL. |
| 5 | | 1. Create unit tests and system tests for your new modules, make sure they provide a 100% coverage on your code. |
| 6 | | 1. Code review by one other CIVL developer is required before merging a branch into the trunk. |
| 7 | | 1. A branch cannot be merged into the trunk without the permission of the main developers of CIVL |
| | 2 | == How to become a CIVL developer == |
| | 3 | * If you are interested in contributing to the development of CIVL, send an email to civl-users@googlegroups.com expressing your interest, and we'll get back to you. We can use help in many areas, including testing and creating new examples, and we are very open to new ideas on all aspects of the project. |
| | 4 | |
| | 5 | == How to make a change to CIVL == |
| | 6 | * Follow these steps: |
| | 7 | 1. Talk with the developers first, by sending email to civl-dev@googlegroups.com. Explain what you want to do, and listen to the feedback. |
| | 8 | 1. Create a new branch for the new features you want to add into CIVL. Name your branch anything you like and create it in the branches directory of the repository. |
| | 9 | 1. Proceed with development of your branch, committing as often as you like. Periodically, merge changes from the trunk into your branch, and resolve any conflicts that result. This will make it much easier to integrate your branch into the trunk later on. |
| | 10 | 1. Create unit tests and system tests for your new code, making sure they provide 100% statement coverage of your code, at a minimum. You may also need to make changes to existing tests. |
| | 11 | 1. Have at least one other CIVL developer review your code. Your reviewer will make suggestions for improvements. Iterate until both of you are satisfied. |
| | 12 | 1. When you feel your branch is complete, send an email to civl-dev@googlegroups.com. In the email, give the name of your branch and summarize the changes/additions you have made. We will then schedule a CIVL meeting where your contribution will be discussed. All developers will be given some time to review your branch before the meeting. |
| | 13 | 1. At the meeting, your branch will either be accepted or it will be rejected with suggestions for further changes. If accepted, it will be merged into the trunk. Only the lead developers have permission to do this merge. If further changes are suggested, a future meeting will be scheduled to discuss again. |