Versions Compared
Key
- This line was added.
- This line was removed.
- Formatting was changed.
The branch where development work takes place is the master.
Set up your Git environment (for first-time contributors):
- Make sure you have your basic Git environment set up.
Choose a bug:
- Find a bug or feature you like; nail down your JIRA ticket; if necessary, file it in JIRA.
Design phase:
If you are developing a feature, or you are working on a bug that involves an interface change, you'll need to go through the design phase.
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Development phase:
Update fork:
Anchor | ||||
---|---|---|---|---|
|
Update your (forked & locally cloned) repository's master branch with the golden repository's master (IMPORTANT: Your fork's master branch should not be touched with any of your development changes. It should just reflect the golden repository's master, exactly).
Info | ||
---|---|---|
| ||
git checkout master git pull upstream master |
Create dev branch:
Create a development branch for the ticket that you would like to work on and name it with the JIRA ID of the ticket:
Info | ||
---|---|---|
| ||
git checkout -b <JIRA ID> |
Check the checklist:
Look at the checklist for developing code.
Anchor | ||||
---|---|---|---|---|
|
Develop Your Code and Your Tests
We recommend developing your code and your tests in parallel. Your PTL tests should provide good coverage of the requirements and your design.
Commit-push cycle:
- Commit changes in the updated file to your branch with a good commit message. Make your commit message relevant and concise, so that it will be helpful to you later:
Info | ||
---|---|---|
| ||
git add <updated file> git commit -m "<Commit message>" |
Tip: Commit often, perfect later.
- Push the development branch to your fork. By convention, 'origin' points to your forked repository on GitHub:
Info | ||
---|---|---|
| ||
git push origin <JIRA ID> |
- Repeat the above steps until you are satisfied with your code change.
Prepare for pull request:
Fetch changes made to the golden repository by other contributors. By convention, 'upstream' points to the golden repository on GitHub:
Info | ||
---|---|---|
| ||
git fetch upstream |
git fetch upstream |
Excerpt | ||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Double-check the checklist for developing code.
Your code changes are good to go! Go ahead and create a pull request.
|
Anchor | ||||
---|---|---|---|---|
|
Put License Text in Headers for Code and Tests
If you create new source or test files, make sure that this license text is in the header for all code and test files.
Get Approval for Your Code and Tests
Your code is ready to be merged into the golden repository when the following are true:
- The code adheres to our coding standards
- You have approval from two people: one maintainer and one other contributor (who can be a maintainer); approvals for code and tests happen on GitHub inside pull requests, not the wiki
Review and check-in:
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Cleanup:
Housekeeping: we strongly recommend that you delete the development branch from your forked and cloned repos now.
Info icon false git checkout master
git push origin --delete <JIRA ID> (deletes <JIRA ID>from the fork)
git branch -D <JIRA ID>(deletes <JIRA ID>from local clone)
Update your bug