diff --git a/contributing.md b/contributing.md index 3dbc5911..f722cc77 100644 --- a/contributing.md +++ b/contributing.md @@ -1,3 +1,7 @@ +### Questions about SickRage? + +To get your questions answered, please ask in the [SickRage Forum], on IRC \#sickbeard-tvrage pn freenode.net, or webchat. + # Contributing to SickRage 1. [Getting Involved](#getting-involved) @@ -5,7 +9,6 @@ 3. [Tips For Submitting Code](#tips-for-submitting-code) - ## Getting Involved There are a number of ways to get involved with the development of SickRage. Even if you've never contributed code to an Open Source project before, we're always looking for help identifying bugs, cleaning up code, writing documentation and testing. @@ -29,9 +32,6 @@ Many bugs reported are actually issues with the user mis-understanding of how so If you are new to SickRage, it is usually a much better idea to ask for help first in the [Using SickRage Forum](http://sickrage.tv) or the [SickRage IRC channel](http://webchat.freenode.net/?channels=sickbeard-tvrage). You will get much quicker support, and you will help avoid tying up the SickRage team with invalid bug reports. -[SickRage Issue Tracker](https://github.com/echel0n/SickRage/issues) - - ### Try the latest version of SickRage Bugs in old versions of SickRage may have already been fixed. In order to avoid reporting known issues, make sure you are always testing against the latest build/source. Also, we put new code in the `dev` branch first before pushing down to the `master` branch (which is what the binary builds are built off of). @@ -53,12 +53,12 @@ Please follow these guidelines before reporting a bug: 2. **Use the SickRage Forums search** — check if the issue has already been reported. If it has been, please comment on the existing issue. -3. **Provide a means to reproduce the problem** — Please provide as much details as possible, e.g. SickRage log files (obfuscate apikey/passwords), browser and operating system versions, how you started SickRage, and of course the steps to reproduce the problem. +3. **Provide a means to reproduce the problem** — Please provide as much details as possible, e.g. SickRage log files (obfuscate apikey/passwords), browser and operating system versions, how you started SickRage, and of course the steps to reproduce the problem. Bugs are always reported in the forums. ### Feature requests -Please follow the bug guidelines above for feature requests, i.e. update to the latest version and search for existing issues before posting a new request. +Please follow the bug guidelines above for feature requests, i.e. update to the latest version and search for existing issues before posting a new request. You can submit Feature Requests in the [SickRage Forum] as well. ### Pull requests @@ -68,10 +68,58 @@ Please follow these guidelines before sending a pull request: 1. Update your fork to the latest upstream version. -2. Use the `dev` branch to base your code off of. +2. Use the `dev` branch to base your code off of. Create a topic-branch for your work. We will not merge your 'dev' branch, or your 'master' branch, only topic branches, coming from dev are merged. 3. Follow the coding conventions of the original repository. Do not change line endings of the existing file, as this will rewrite the file and loses history. 4. Keep your commits as autonomous as possible, i.e. create a new commit for every single bug fix or feature added. 5. Always add meaningful commit messages. We should not have to guess at what your code is supposed to do. + +6. One pull request per feature. If you want multiple features, send multiple PR's + +Please follow this process; it's the best way to get your work included in the project: + +- [Fork](http://help.github.com/fork-a-repo/) the project, clone your fork, + and configure the remotes: + +```bash + # clone your fork of the repo into the current directory in terminal + git clone git@github.com:/SickRage.git + # navigate to the newly cloned directory + cd SickRage + # assign the original repo to a remote called "upstream" + git remote add upstream https://github.com/echel0n/SickRage.git + ``` + +- If you cloned a while ago, get the latest changes from upstream: + + ```bash + # fetch upstream changes + git fetch upstream + # make sure you are on your 'master' branch + git checkout master + # merge upstream changes + git merge upstream/master + ``` + +- Create a new topic branch to contain your feature, change, or fix: + + ```bash + git checkout -b dev + ``` + +- Commit your changes in logical chunks. or your pull request is unlikely + be merged into the main project. Use git's + [interactive rebase](https://help.github.com/articles/interactive-rebase) + feature to tidy up your commits before making them public. + +- Push your topic branch up to your fork: + + ```bash + git push origin + ``` + +- [Open a Pull Request](https://help.github.com/articles/using-pull-requests) with a + clear title and description. +