The following steps outline how to submit code to the VXQuery community for inclusion. Please read the Developer Get Started Guide to answer question about getting start as a developer. VXQuery community supports two methods for contributing code to the project.
This method works well for small bug fixes.
The pull request will allow the community to give the developer (you) feedback and support in creating a quality submission. The following steps outline the github pull request process for the VXQuery community.
Go to Apache VXQuery github mirror. Create a fork by clicking on the fork button. Then clone the fork to your local machine for development.
VXQuery uses the following convention when creating a branch: authors_username/topic_or_issue (examples: prestonc/vxquery_142 or tillw/group_by_clause). The following branch name helps keep branches separated and keeps it easy to determine the author and topic.
If the change is not covered in the XQTS, please create a new test in the VXQuery test suite to cover the code changes made to VXQuery.
Once the change is ready, test the branch against known passing Apache VXQuery tests. The patch must not break any of the existing test suites, either the VXQuery or currently passing XQTS.
Remove an extra debug code and verify the patch only includes code for the change.
Once the work has been tested, a pull request can be created for the change branch. Please use the Apache VXQuery master as branch to compare the change branch. The branch should be up-to-date with the lastest Apache VXQuery master branch.
Post the Pull Request to the mailing list or issue to allow the VXQuery community to give feedback on the change. At least one other member of the community should review the change. If there is any feedback, address this and repeat the posting process.
Post inline or global comments for the developer. Be polite in your suggestions. Guide the developer to bring the code up to VXQuery's code standards.
The VXQuery committer will be responsible for the change made to the ASF git repository. While they do not need to be the author, the committer should have some understanding of the change they are pushing on to the repository. Often the committer will also be the reviewer for non-committer changes.
When merging the change, do not rebase. Instead do a single merge commit into Apache VXQuery master.