Contributing to Apache Tephra
The Apache Tephra team welcome all types of contributions, whether they are bug reports, feature requests, documentation, or code patches.
Reporting Issues
To report bugs or request new features, please open an issue in the Apache Tephra JIRA. You can also use the dev mailing list for general questions or discussions.
Contributing Code
We prefer contributions through GitHub pull requests. Please follow these steps to get your contributions in:
- Open a new issue or pick up an existing one in the Apache TEPHRA JIRA about the patch that you are going to submit.
- If you are proposing public API changes or big changes, please attach a design document to the JIRA. You can also use the dev mailing list to discuss it first. This will help us understand your needs and best guide your solution in a way that fits the project.
- Fork the Apache Tephra GitHub repo.
- Make the changes and send a pull request from your forked repo to the Apache Tephra repo.
- Please prefix your pull request title with the JIRA issue ID; for example, (TEPHRA-35) Added invalid transaction pruning.
- Please complete the pull request description with additional details as appropriate.
- Once sent, code review will be done through the pull request.
- Once all review issues are resolved, we will merge the changes into the master branch of the Apache Tephra repo.
How to Merge Code Changes
Committer can merge code changes that are already reviewed into the master branch with the following steps:
-
Checkout the master branch from the Apache git repository (https://git-wip-us.apache.org/repos/asf/incubator-tephra.git).
-
Make sure the GitHub pull request is squashed into one commit. If not, ask the patch contributor to help doing so.
-
Download the patch file from GitHub. You can append .patch to the end of the GitHub pull request URL to get the patch file.
curl -L -O https://github.com/apache/incubator-tephra/pull/${PR_NUMBER}.patch
-
Edit the patch file and add the following line in the commit message (that is, between the subject and the --) for closing the pull request.
This closes #${PR_NUMBER} from GitHub.
-
Apply the patch and push it back to remote repo. Make sure you apply it on the latest master branch.
git checkout master git pull origin master git am --signoff < ${PR_NUMBER}.patch git push origin master
- Close the JIRA issue associated with the patch.