-
-
Notifications
You must be signed in to change notification settings - Fork 662
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
5 changed files
with
46 additions
and
38 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,48 @@ | ||
### General Guidelines | ||
|
||
* New features **must** be documented | ||
* Changes **must** pass integration tests. | ||
* Changes **should** increase overall test coverage. | ||
|
||
## Rebasing | ||
We love and appreciate contributions to Haraka. | ||
|
||
### When to Rebase | ||
### To contribute code, use the Github "Pull Request" mechanism | ||
|
||
On branches with more than a couple commits, it's usually best to squash the commits (condense them into one). Exceptions to the single commit guideline are: | ||
#### Overview | ||
|
||
* multiple logical changes, put each in a commit (easier to review and revert) | ||
* whitespace changes belong in their own commit | ||
* no-op code refactoring is separate from functional changes | ||
1. fork, by clicking the Fork button on the project page | ||
2. checkout a copy | ||
3. create a branch | ||
4. make changes | ||
5. push changes to your fork | ||
6. submit a Pull Request | ||
|
||
### How to Rebase | ||
#### Detailed Example | ||
|
||
```sh | ||
git remote add haraka https://github.com/haraka/Haraka.git | ||
git remote update haraka | ||
git rebase -i haraka/master | ||
export GHUSERNAME=CHANGE_THIS | ||
git clone https://github.com/$GHUSERNAME/Haraka.git | ||
cd Haraka | ||
git checkout -b new_branch | ||
$EDITOR server.js | ||
git add server.js | ||
git commit | ||
git push origin new_branch | ||
``` | ||
|
||
Change all but the first "pick" lines to "s" and save your changes. Your $EDITOR will then present you with all of the commit messages. Edit them and save. Then force push your branch: | ||
The `git commit` step(s) will launch you into `$EDITOR` where the first line should be a summary of the change(s) in less than 50 characters. Additional paragraphs can be added starting on line 3. | ||
|
||
`git push -f` | ||
To submit new_branch as a Pull Request, visit the [Haraka project page](https://github.com/haraka/Haraka) where your recently pushed branches will appear with a green "Pull Request" button. | ||
|
||
### General Guidelines | ||
|
||
* New features **must** be documented | ||
* New features **should** include tests | ||
|
||
### Style conventions | ||
|
||
* 4 space indentions (no tabs) | ||
* 4 spaces for indentation (no tabs) | ||
* Semi-colons on the end of statements are preferred | ||
* Use underscores\_to\_separate\_names (yes this goes against JS conventions - it's the way it has always been done) | ||
* Do not [cuddle elses](http://c2.com/cgi/wiki?CuddledElseBlocks) | ||
* Use whitespace between operators - we prefer `if (foo > bar)` over `if(foo>bar)` | ||
* Don't comment out lines of code, remove them. They will be in the revision history. | ||
* Don't comment out lines of code, remove them as they will be in the revision history. | ||
* Use boolean true/false instead of numeric 0/1 | ||
* See [Editor Settings](https://github.com/haraka/Haraka/wiki/Editor-Settings) | ||
* See [Editor Settings](Editor-Settings) | ||
|
||
## Tests | ||
|
||
* run all tests: "npm test" | ||
* run tests for a single plugin: ./run_tests tests/plugins/bounce.js | ||
* run all tests: ./run_tests (or "npm test") | ||
* run tests for a single plugin: ./run_tests tests/plugins/bounce.js |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.