2014-05-16 06:37:59 +04:00
|
|
|
# Contributing #
|
|
|
|
|
|
|
|
Anyone is welcome to help with Firefox Accounts. Feel free to get in touch with other community members on IRC, the
|
|
|
|
mailing list or through issues here on GitHub.
|
|
|
|
|
|
|
|
* IRC: `#fxa` on `irc.mozilla.org`
|
2014-05-16 07:37:11 +04:00
|
|
|
* Mailing list: <https://mail.mozilla.org/listinfo/dev-fxacct>
|
2014-05-16 06:37:59 +04:00
|
|
|
* and of course, [the issues list](https://github.com/mozilla/fxa-auth-server/issues)
|
|
|
|
|
|
|
|
## Bug Reports ##
|
|
|
|
|
|
|
|
You can file issues here on GitHub. Please try to include as much information as you can and under what conditions
|
|
|
|
you saw the issue.
|
|
|
|
|
|
|
|
## Sending Pull Requests ##
|
|
|
|
|
|
|
|
Patches should be submitted as pull requests. When submitting patches as PRs:
|
|
|
|
|
|
|
|
* You agree to license your code under the project's open source license (MPL 2.0).
|
|
|
|
* Base your branch off the current `master` (see below for an example workflow).
|
|
|
|
* Add both your code and new tests if relevant.
|
|
|
|
* Run `grunt jshint` to make sure your code passes linting.
|
|
|
|
* Run `npm test` to make sure all tests still pass.
|
|
|
|
* Please do not include merge commits in pull requests; include only commits with the new relevant code.
|
2014-05-16 06:51:10 +04:00
|
|
|
* Add yourself to the `AUTHORS` file so we can publically recognize your contribution.
|
2014-05-16 06:37:59 +04:00
|
|
|
|
|
|
|
See the main `README.md` for information on prerequisites, installing, running and testing.
|
|
|
|
|
|
|
|
## Example Workflow ##
|
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
This is an example workflow to make it easier to submit Pull Requests. Imagine your username is `user1`:
|
2014-05-16 06:37:59 +04:00
|
|
|
|
|
|
|
1) Fork this repository via the GitHub interface
|
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
2) The clone the upstream (as origin) and add your own repo as a remote:
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
$ git clone https://github.com/mozilla/fxa-auth-server.git
|
|
|
|
$ cd fxa-auth-server
|
|
|
|
$ git remote add user1 git@github.com:user1/fxa-auth-server.git
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
3) Create a branch for your fix/feature and make sure it's your currently checked-out branch:
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
$ git checkout -b add-new-feature
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
4) Add/fix code, add tests then commit and push this branch to your repo:
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
$ git add <files...>
|
|
|
|
$ git commit
|
|
|
|
$ git push user1 add-new-feature
|
2014-05-16 06:37:59 +04:00
|
|
|
|
|
|
|
6) From the GitHub interface for your repo, click the `Review Changes and Pull Request` which appears next to your new branch.
|
|
|
|
|
|
|
|
7) Click `Send pull request`.
|
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
### Keeping up to Date ###
|
|
|
|
|
2014-05-16 06:37:59 +04:00
|
|
|
The main reason for creating a new branch for each feature or fix is so that you can track master correctly. If you need
|
2014-05-16 07:37:11 +04:00
|
|
|
to fetch the latest code for a new fix, try the following:
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
$ git checkout master
|
|
|
|
$ git pull
|
2014-05-16 06:37:59 +04:00
|
|
|
|
2014-05-16 07:37:11 +04:00
|
|
|
Now you're ready to branch again for your new feature (from step 4 above).
|