...
The first act of a new core committer is typically to add their name to the credits page. This requires changing the XML source in httphttps://svngithub.com/apache.org/repos/asf/hive/-site/authorblob/srcmain/documentation/content/xdocscommunity/credits.xml. Once done, update the Hive website as described in the Documentation section below.people.md
Review
Hive committers should, as often as possible, attempt to review patches Pull Requests submitted by others. Ideally every submitted patch PR will get reviewed by a committer within a few days. If a committer reviews a patch PR they've not authored, and believe it to be of sufficient quality, then they can commit merge the patchPR, otherwise the patch PR should be cancelled with a clear explanation for why it was rejected.
The list of submitted patches is in the Hive Patchesopen Pull Requests can be found here: Hive Open Pull Requests. This is ordered by time of last modificationcreating. Committers should scan the list from topbottom-to-bottomtop, looking for patches Pull Requests that they feel qualified to review and possibly commitmerge.
Hive committers may can not +1/Approve their own patchesPull Requests, i.e. you are allowed to commit/merge your own patch changes only if the patch Pull Request first receives a +1 vote from another committer. In the past this rule has typically been ignored when making small changes to the website (e.g. adding a new committer to the credits page), but you should follow the standard process for anything else.
Reject
Patches Pull Requests should be rejected which do not adhere to the guidelines in HowToContribute. Committers should always be polite to contributors and try to instruct and encourage them to contribute better patchesPull Requests. If a committer wishes to improve an unacceptable patchchange, then it should first be rejected, and a new patch should be attached by the committer for reviewhe/she drop review comments and ask the contributor to update.
PreCommit runs, and committing patches
- Run Pre-Commit tests on a patch Pull Request before committing.
- If the test run is clean (and there's a +1 from a committer), the patch Pull Request can be merged/committed.
- Test runs may not be clean due to issues in the patch PR itself, or due to flaky tests. These issues must be fixed and patch PR should not be committed until the run is clean.
If a commit introduces new test failures, the preferred process is to revert the patch, rather than opening a new JIRA to fix the new failures.
Commit
When you commit/merge a patchPull Request, please:
- Ensure that the patch Pull Request has a +1 vote, and that 24 hours have elapsed since the first +1 vote was cast on JIRAthe Pull Request. Note that this rule appears in the Hive Bylaws. Do not ignore it.
- Include the Jira issue id in the commit message, along with a short description of the change and the name of the contributor. Be sure to get the issue id right, as this causes Jira to link to the change in Subversion (use the issue's "All" tab to see these)Git/Github.
- if contributor is you then add the following suffix to commit message "(<you>, reviewed by <reviewer>)". Example: "HIVE-123. Add awesomesauce to the optimizer. (jvs, reviewed by Ashutosh Chauhan)"
- if contributor is not you then add the following suffix to commit message "(<contributor> via <you>)". Example: "HIVE-123. Add awesomesauce to the optimizer. (Mike Brakestoner via jvs, reviewed by Ashutosh Chauhan)"
Additionally: "Co--author="John Doe <john@doeauthored-by: Ayush Saxena <ayushsaxena@apache.org>" may can be used to make the author the contributor
attribute any additional code contributors.
- Resolve the issue as fixed, thanking the contributor and the reviewers. Always set the "Fix Version" at this point, but please only set a single fix version, the earliest release in which the change will appear. However, if a patch is backported to a point release (such as 1.0.2) then multiple fix versions should be set so that the automated release notes can list the Jira issue the Jira issue for the point release as well as the primary release.Use the -E option to make sure that empty files are removed during the commit.
Committing Documentation
Hive's official documentation is authored using Forresthosted at Github-Hive-Site. To commit major documentation changes you must have Forrest installed and the forrest
executable on your $PATH
. Note that the current version (0.8) doesn't work properly with Java 6, use Java 5 instead. Documentation is of two types:
- End-user documentation, versioned with releases; and,
- The website. This is maintained separately in subversion, republished as it is changed.
To commit end-user documentation changes to trunk or a branch, ask the user to submit only changes made to the *.xml files in src/docs
. Apply that patch, run ant docs
to generate the html, and then commit. End-user documentation is only published to the web when releases are made, as described in HowToRelease.
To commit changes to the website and re-publish them:
Code Block |
---|
% svn co https://svn.apache.org/repos/asf/hive/site hive-site
% cd hive-site
# Make your changes in the author/src/documentation/content/xdocs subdirectory.
# Then run 'ant' to generate the new website. This will cause
# files to be updated/added in the publish/ subdirectory.
% ant
% svn status
M author/src/documentation/content/xdocs/credits.xml
X author/src/documentation/skins
M publish/credits.html
M publish/credits.pdf
# Inspect the modified/added files in the publish directory,
# and commit the changes once you are satisfied with them:
% svn commit -m "Add Bob to list of committers on credits page (cws)"
|
Changes committed to the website repository will be automatically published to the website using svnpubsub.
Backporting commits to previous branches
...
raise a Pull Request to the hive-site repo.
Changes committed to the hive site repo will automatically get published on: https://hive.apache.org/
Backporting commits to previous branches
If a patch needs to be backported to previous branches, follow these steps.
Commit the changes to trunk and note down the revision number, say 4001. (Revision number is displayed as response to your svn commit command).
2. Check out the desired branch and execute this command from the root directory.Code Block svn merge -r 4000:4001 https://svn.apache.org/repos/asf/hive/trunk . svn commit
Dialog
Raise a Pull Request directed toward the target branch with the actual Jira Id/message & commit id.
- If the build is green, the PR can be merged to the desired branch
Dialog
Committers/Contributors Committers should hang out in the #hive room on irc.freenode.net channel in Apache Slack workspace for real-time discussions. However any substantive discussion (as with any off-list project-related discussion) should be re-iterated in Jira or on the developer list.
Note: Committers or individuals can directly joint the #hive slack channel on Apache Workspace, any other individual if interested should drop a mail to hive dev mailing list with his email id and any existing member of the #hive apache channel should be able to send him the invite to join the group