Guidelines for submitting a patch - GoldenCheetah/GoldenCheetah GitHub Wiki

First. Thank you for taking the time to help enhance and improve Golden Cheetah.

Second, here are some guidelines to help make it easier to get the patch reviewed and merged.

1: If you are patching for a bug or adding a feature in existing code

Focus on a single bug or feature at a time, and do not submit style formatting or refactoring changes in the original patch.

Just submit the changes that fix the bug or tweak the code with a clear and concise description.

This is so those who review the code can see what is being done easily, and it allows each change to be reverted if it needs to.

If you like to do refactoring or formatting changes for code readability, please put them in a separate commit or submit a second patch with these changes.

Check for and remove compiler warnings. Even when they are harmless, compiler warnings may hide real issues, so remove them.

2: Format requirements

We favor K&R indentation style and CamelCase for class names.

Please don’t use tabs, replace them by 4 spaces.

Please make sure your patch has no trailing whitespaces. GIT hates trailing whitespaces.

Run two versions of the source code. Apply your patch to an unmodified current master of the branch you are working on. Check that there are no white spaces after each commit: git show --color Trailing whitespaces turn up as RED blobs.

3: Create a GitHub Pull Request or attach the patch to the bug or feature

You did raise a bug or feature request didn't you if you initiated this?

Please make sure that in the commit message for the patch you put in a line: Fixes #xxx

4: Check out Sean's original developers guide. It is a good read.

Caveat: Golden Cheetah maintainers are volunteers, we cannot warrant when, and if, your contribution will be reviewed and merged. Failure to adhere to the above guidelines can further delay the process.

5: Consider the Chesterton’s fence

The principle that reforms should not be made until the reasoning behind the existing state of affairs is understood.