- Help to review and verify existing patches
- Make sure your issue is not all ready in the Jira issue tracker
- If not, create a ticket describing the change you're proposing in the Jira issue tracker
- Contribute your patch using one of the two methods below
- Check out the latest version of the source code
- git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
- Modify the source to include the improvement/bugfix
- Remember to provide tests for all submited changes
- When bugfixing: add test that will isolate bug before applying change that fixes it
- Verify that you follow Thrift Coding Standards (you can run 'make style', which ensures proper format for some languages)
- Create a patch from project root directory (e.g. you@dev:~/thrift $ ):
- git diff > ../thrift-XXX-my-new-feature.patch
- Attach the newly generated patch to the issue
- Wait for other contributors or committers to review your new addition
- Wait for a committer to commit your patch
- Create a fork for https://github.com/apache/thrift
- Create a branch for your changes(best practice is issue as branch name, e.g. THRIFT-9999)
- Modify the source to include the improvement/bugfix
- Remember to provide tests for all submited changes
- When bugfixing: add test that will isolate bug before applying change that fixes it
- Verify that you follow Thrift Coding Standards (you can run 'make style', which ensures proper format for some languages)
- Verify that your change works on other platforms by adding a GitHub service hook to Travis CI and AppVeyor
- Commit and push changes to your branch (please use issue name and description as commit title, e.g. THRIFT-9999 make it perfect)
- Issue a pull request with the jira ticket number you are working on in it's name
- Wait for other contributors or committers to review your new addition
- Wait for a committer to commit your patch
Plenty of information on why and how to contribute is available on the Apache Software Foundation (ASF) web site. In particular, we recommend the following: