Commit policy
mumble edited this page Nov 11, 2016
·
12 revisions
Pages 16
Navigation
- Home
- Getting Started Guide
- Set Up Instructions
- Writing and Tracking Code
- Automated Testing
Clone this wiki locally
Scary Legal Stuff
- Please be aware that any code you commit to our projects becomes the property of the OTW and will be licensed under The GNU General Public License). No take-backs. :) Don't commit code if you're not willing for it to be shared forever!
- Never commit code you didn't write yourself or code that doesn't have a suitable license. If you are adding code written by someone else (for instance a third-party Rails plugin), it must have been released under a license that is the same or *more* permissive than our own license. Please do specify in your commit message how the plugin is licensed.
- Never remove licensing info from code.
- Never use a decompiler or disassembler to look at proprietary code.
Commit Rules
- Your branch name should include the id of the JIRA issue you are working on, e.g.
AO3-1234orAO3-1234_short_description - Start every commit message with the issue id and include a meaningful explanation of the changes in your commit, e.g.
AO3-1234 Fix typo in work.rb - Commit only one thing at a time. Don't commit unrelated changes together, or a change and a fix at the same time.
- Make sure that you are committing only the files you need.
- Make sure your code matches the Coding Standards.
- Send in your code as a pull request on GitHub.
Commit Steps
- Make sure master is up-to-date first.
git checkout master git pull upstream master
- Merge your branch with master. Resolve any conflicts.
git checkout your_branch_name git merge master
- Run all tests on your branch before submitting a pull request.
bundle exec cucumber features bundle exec rspec spec
- When submitting the pull request, include the issue number in the subject line and a link to the JIRA issue in your comment.
- The JIRA issue will update automatically (within an hour) when you submit a pull request to the otwcode/otwarchive repo. If this doesn't happen for some reason, set the issue manually to "Pull Request Submitted" (in the Workflow dropdown on the issue) and its status should change to In Review.
- Do something nice for yourself! :)
Good Practice
- Merge with the master branch frequently to catch any conflicts early
- If you are fixing or changing something without an issue, open one so that your change can be tested and tracked.
- After you have created a migration and it has been tested, run
rake schema:dumpand commit the resultant db/schema.rb file
Merging
Our code reviewers with merge permissions are ariana-paris, bingeling, CristinaRO, sarken, scottsds, shalott, and zz9pzza. Drive-by code review and discussion of anybody else's code is always welcome - we can all learn more - but please remember to keep it constructive.
If you have any questions regarding code development, please don't hesitate to send an email to [email protected] and we will try to get back to you as soon as possible!