To submit a patch, fork the repo and work within a topic branch of your fork.
-
Bootstrap your dev environment
script/bootstrap
-
Set up a remote tracking branch
git checkout -b <branch_name> # Initial push with `-u` option sets remote tracking branch. git push -u origin <branch_name>
-
Ensure your branch is up-to-date:
git fetch --prune upstream git rebase upstream/master git push -f
-
Submit a Pull Request
- Participate in code review
- Participate in code comments
-
wercker automatically runs the test harness against each pull request and push. You can also run tests locally via:
script/test
Please minimize diff churn to enhance git history commands.
- Arrays should usually be multi-line with trailing commas.
Update .rubocop.yml
if necessary to favor minimal churn.
Use git rebase upstream/master
to update your branch.
- You must force-push after rebasing.
- We never force-push to master.
The primary reason for this is to maintain a clean, linear history via "fast-forward" merges to master. A clean, linear history in master makes it easier to troubleshoot regressions and follow the timeline.