49 lines
2.1 KiB
Markdown
49 lines
2.1 KiB
Markdown
# How to contribute
|
|
|
|
We love contributions!
|
|
|
|
## Getting started
|
|
|
|
* Create a github account if you haven't already, and fork the project
|
|
* Create a new branch, using a branch name that gives an idea of what the changes are about
|
|
* One topic per commit; a number of small commits are better than one big one
|
|
* Do not introduce whitespace changes! (**Windows users:** `git config --global core.autocrlf true`)
|
|
* Encouraged but not enforced: each commit should stand alone, in the sense that the code should compile and run at that point.
|
|
* One major topic per pull request. Commits that fix small things (typos, formatting) are perfectly acceptable in a PR fixing a bug or adding a feature.
|
|
* Tests are good. Tests are required unless you're fixing something simple or that was obviously broken.
|
|
* Do not change EXPRESS schema definition without reference to an upstream change.
|
|
* Make your changes and push them to your GitHub repo
|
|
* Once your branch is pushed, submit a pull request.
|
|
- enable github option on each PR 'Allow edits from maintainers', refer to github help if necessary
|
|
* We'll look at the PR and either merge (possibly after rebase) or add feedback.
|
|
- If there isn't any activity within several days send a message to the mailing list - `scl-dev` AT `groups.google.com`.
|
|
|
|
## Coding Standards
|
|
|
|
SC's source has been reformatted with astyle. When making changes, try
|
|
to match the current formatting. The main points are:
|
|
|
|
- compact (java-style) brackets:
|
|
```C
|
|
if( a == 3 ) {
|
|
c = 5;
|
|
function( a, b );
|
|
} else {
|
|
somefunc();
|
|
}
|
|
```
|
|
- indents are 4 spaces
|
|
- no tab characters
|
|
- line endings are LF (linux), not CRLF (windows)
|
|
- brackets around single-line conditionals
|
|
- spaces inside parentheses and around operators
|
|
- return type on the same line as the function name, unless that's
|
|
too long
|
|
- doxygen-style comments
|
|
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
|
|
|
|
If in doubt about a large patch, run astyle with the config file
|
|
misc/astyle.cfg.
|
|
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
|
|
|