From 889ec6f334239fa00bc08aa6fb117172b59e0962 Mon Sep 17 00:00:00 2001 From: elijah Date: Tue, 5 Nov 2013 16:00:16 -0800 Subject: created a 'get-involved' section --- docs/get-involved/coding.haml | 77 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/get-involved/coding.haml (limited to 'docs/get-involved/coding.haml') diff --git a/docs/get-involved/coding.haml b/docs/get-involved/coding.haml new file mode 100644 index 0000000..86686b1 --- /dev/null +++ b/docs/get-involved/coding.haml @@ -0,0 +1,77 @@ +- @title = "Contributing Code" +- @summary = "How to issue a pull request." + +%h1.first Contributing Code + +%h3 Submitting a pull request + +%p All development happens via pull requests. To add a new feature or fix a bug, the developer must create a new branch off develop, make their changes, and then issue a pull request for another developer to review before the changes get merged back into develop. + +%p Here is an example, using github with username rms and repository bitmask_client. You don't need to use github, but it is a friendly way to get started. + +%p + %b Step 1 — Fork on github + +%p Login to github.com as 'rms', browse to #{link 'https://github.com/leapcode/bitmask_client'}, and click the fork button. + +%p Now you should have a fork of the code available at https://github.com/rms/bitmask_client. + +%p + %b Step 2 — Set up local clone + +%p Clone the upstream repository: + +%pre + %code + git clone https://leap.se/git/bitmask_client + cd bitmask_client + +%blockquote + .p NOTE: Alternately, you can use the github mirror at https://github.com/leapcode/bitmask_client. It does not matter which one you choose. + +%p + %b Step 4 — Add a "remote" for your fork + +%p Next, you need to add the fork you created on github as an alternate remote in your local repository: + +%pre + %code + git remote add rms https://github.com/rms/bitmask_client.git + +%p + %b Step 5 — Create a new feature branch + +%pre + %code + git fetch origin + git checkout develop + git checkout -b feature/my_new_feature + +%p + %b Step 6 — Hack away + +%P Make all your changes in your feature/my_new_feature branch, with a separate git commit for each discrete modification you make. + +%p + %b Step 7 — Prepare for pull request + +%p Once you are happy with your branch, prepare it for a pull request by rebasing on the latest upstream develop branch. This will also give you an opportunity to clean up your commit history by squashing and changing commit messages. + +%pre + %code + git fetch origin # ensure the latest + git checkout feature/my_new_feature # if not already checked out + git rebase -i develop # rebase and clean up commits + +%p + %b Step 8 — Submit pull request + +%p Next, you will push your local feature branch to your fork on github, and then issue a pull request. + +%pre + %code + git push rms feature/my_new_feature + +%p Then browse to https://github.com/rms/bitmask_client, where you will see a handy button to issue a pull request. Make sure that the upstream branch is leapcode/bitmask_client:develop and you are requesting the merge of rms/bitmask_client:feature/my_new_feature. + +Then you are done. Some other developer will get a notice of your pull request, review the changes, and merge into upstream develop branch. If they have questions or comments, you will get an email from github. -- cgit v1.2.3