blob: 316da9a00de838736d8a7695ea3f28c68e7368c5 [file] [log] [blame] [view]
jfarrell347a5eb2014-04-05 12:20:07 -04001## How to contribute
Roger Meiere035c1a2015-04-07 23:05:31 +02002 1. Help to review and verify existing patches
Konrad Grochowski23b60b52014-10-02 17:25:47 +02003 1. Make sure your issue is not all ready in the [Jira issue tracker](http://issues.apache.org/jira/browse/THRIFT)
4 1. If not, create a ticket describing the change you're proposing in the [Jira issue tracker](http://issues.apache.org/jira/browse/THRIFT)
jfarrell347a5eb2014-04-05 12:20:07 -04005 1. Contribute your patch using one of the two methods below
Konrad Grochowski3bc64242015-02-04 16:43:26 +01006
jfarrell347a5eb2014-04-05 12:20:07 -04007### Contributing via a patch
Konrad Grochowski3bc64242015-02-04 16:43:26 +01008
jfarrell347a5eb2014-04-05 12:20:07 -040091. Check out the latest version of the source code
Konrad Grochowski3bc64242015-02-04 16:43:26 +010010
11 * git clone https://git-wip-us.apache.org/repos/asf/thrift.git thrift
jfarrell347a5eb2014-04-05 12:20:07 -040012
131. Modify the source to include the improvement/bugfix
Konrad Grochowski3bc64242015-02-04 16:43:26 +010014
15 * Remember to provide *tests* for all submited changes
16 * When bugfixing: add test that will isolate bug *before* applying change that fixes it
Jens Geyer61b8a292015-10-05 21:55:49 +020017 * Verify that you follow [Thrift Coding Standards](/docs/coding_standards) (you can run 'make style', which ensures proper format for some languages)
jfarrell347a5eb2014-04-05 12:20:07 -040018
191. Create a patch from project root directory (e.g. you@dev:~/thrift $ ):
Konrad Grochowski3bc64242015-02-04 16:43:26 +010020
21 * git diff > ../thrift-XXX-my-new-feature.patch
jfarrell347a5eb2014-04-05 12:20:07 -040022
231. Attach the newly generated patch to the issue
241. Wait for other contributors or committers to review your new addition
251. Wait for a committer to commit your patch
Konrad Grochowski3bc64242015-02-04 16:43:26 +010026
jfarrell347a5eb2014-04-05 12:20:07 -040027### Contributing via GitHub pull requests
28
291. Create a fork for http://github.com/apache/thrift
Roger Meiere035c1a2015-04-07 23:05:31 +0200301. Create a branch for your changes(best practice is issue as branch name, e.g. THRIFT-9999)
jfarrell347a5eb2014-04-05 12:20:07 -0400311. Modify the source to include the improvement/bugfix
jfarrell347a5eb2014-04-05 12:20:07 -040032
Konrad Grochowski3bc64242015-02-04 16:43:26 +010033 * Remember to provide *tests* for all submited changes
34 * When bugfixing: add test that will isolate bug *before* applying change that fixes it
Jens Geyer61b8a292015-10-05 21:55:49 +020035 * Verify that you follow [Thrift Coding Standards](/docs/coding_standards) (you can run 'make style', which ensures proper format for some languages)
henrique467998b2015-05-01 14:03:19 +100036 * Verify that your change works on other platforms by adding a GitHub service hook to [Travis CI](http://docs.travis-ci.com/user/getting-started/#Step-one%3A-Sign-in) and [AppVeyor](http://www.appveyor.com/docs)
Konrad Grochowski3bc64242015-02-04 16:43:26 +010037
Roger Meiere035c1a2015-04-07 23:05:31 +0200381. Commit and push changes to your branch (please use issue name and description as commit title, e.g. THRIFT-9999 make it perfect)
Konrad Grochowski3bc64242015-02-04 16:43:26 +0100391. Issue a pull request with the jira ticket number you are working on in it's name
jfarrell347a5eb2014-04-05 12:20:07 -0400401. Wait for other contributors or committers to review your new addition
411. Wait for a committer to commit your patch
42
43### More info
Konrad Grochowski3bc64242015-02-04 16:43:26 +010044
jfarrell347a5eb2014-04-05 12:20:07 -040045 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:
Konrad Grochowski3bc64242015-02-04 16:43:26 +010046
jfarrell347a5eb2014-04-05 12:20:07 -040047 * [Contributors Tech Guide](http://www.apache.org/dev/contributors)
48 * [Get involved!](http://www.apache.org/foundation/getinvolved.html)
49 * [Legal aspects on Submission of Contributions (Patches)](http://www.apache.org/licenses/LICENSE-2.0.html#contributions)