| ~~ |
| ~~ Licensed to the Apache Software Foundation (ASF) under one |
| ~~ or more contributor license agreements. See the NOTICE file |
| ~~ distributed with this work for additional information |
| ~~ regarding copyright ownership. The ASF licenses this file |
| ~~ to you under the Apache License, Version 2.0 (the |
| ~~ "License"); you may not use this file except in compliance |
| ~~ with the License. You may obtain a copy of the License at |
| ~~ |
| ~~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~~ |
| ~~ Unless required by applicable law or agreed to in writing, |
| ~~ software distributed under the License is distributed on an |
| ~~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| ~~ KIND, either express or implied. See the License for the |
| ~~ specific language governing permissions and limitations |
| ~~ under the License. |
| ~~ |
| |
| Committer Guide |
| |
| %{toc} |
| |
| This page provides necessary guidelines for committers of Apache Lens. |
| |
| * New Committers |
| |
| New committers are encouraged to first read Apache's generic committer documentation: |
| |
| * {{{http://www.apache.org/dev/new-committers-guide.html} New committer guide}} |
| |
| * {{{http://www.apache.org/dev/committers.html}Committer FAQ}} |
| |
| * {{{http://www.apache.org/dev/committers.html#committer-responsibilities} Committer Responsibilities}} |
| |
| * As first commit - Add your name to the list of Committers in pom.xml of the project. Follow the steps in commit |
| section for instructions. Specify the roles that have been granted to you in the invite mail. If you are invited as |
| committer, just add your role as "Committer". If you are invited as PMC, specify "PMC" and "Committer" as your roles. |
| A typical committer tag would look like |
| |
| +--- |
| |
| <developer> |
| <id>amareshwari</id> |
| <email>amareshwari@apache.org</email> |
| <name>Amareshwari Sriramadasu</name> |
| <timezone>+5.5</timezone> |
| <roles> |
| <role>PMC</role> |
| <role>Committer</role> |
| </roles> |
| </developer> |
| |
| +--- |
| |
| |
| * Review |
| |
| Lens committers should, as often as possible, attempt to review patches submitted by others. Ideally every submitted |
| patch will get reviewed by a committer within a few days. If a committer reviews a patch they've not authored, |
| and believe it to be of sufficient quality, then they can commit the patch, otherwise the patch should be cancelled |
| with a clear explanation for why it was rejected. |
| |
| The list of submitted patches should be ordered by Updated timestamp - |
| {{{https://issues.apache.org/jira/issues/?jql=project%20%3D%20LENS%20AND%20status%20%3D%20%22Patch%20Available%22%20ORDER%20BY%20updated%20DESC%2C%20priority%20DESC} Lens patch available issues}} |
| and {{{https://reviews.apache.org/dashboard/?group=lens&view=to-group}Review board}}. Committers should scan the list |
| from one which was updated earliest, looking for patches that they feel qualified to review and possibly commit. |
| |
| Review guidelines are put up at {{{./contribute.html#Review}review guidelines in contributer guide}} |
| |
| The committers are allowed to commit their own patch only if the patch first receives a +1 vote from another |
| committer. |
| |
| Patches should be rejected which do not adhere to the guidelines above and |
| {{{./contribute.html#Code_compliance}code compliance guidelines in contributer guide}}. Committers should always |
| be polite to contributors and try to instruct and encourage them to contribute better patches. If a committer |
| wishes to improve an unacceptable patch, then it should first be rejected, and a new patch should be attached by |
| the committer for review. |
| |
| * Commit |
| |
| The commit repo is at |
| {{{https://git-wip-us.apache.org/repos/asf/lens.git} https://git-wip-us.apache.org/repos/asf/lens.git}} |
| When you commit a patch, please: |
| |
| * Ensure that all tests pass with patch applied. |
| |
| * Ensure that the patch has a +1 vote from another committer or yourself. |
| |
| * Ensure that 24 hours have elapsed since the jira is made patch available or the review request is up. As a practice |
| we should observe this, but it should be possible to consciously override and commit with a shorter turnaround time. |
| |
| * Cross check if your git user.name and user.email are properly configured. Set username and email with commands |
| |
| +---+ |
| |
| git config user.name "Amareshwari Sriramadasu" |
| git config user.email "amareshwari@apache.org" |
| |
| +---+ |
| |
| * Apply the patch attached on jira. The patch should be licensed under apache license. |
| |
| +---+ |
| |
| git apply --check lens_patch.patch |
| git apply lens_patch.patch |
| |
| +---+ |
| |
| * Don't forget to do 'git add' on any new files, and 'git rm' on any files that have been 'deleted' by the patch. |
| |
| * 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 git. |
| |
| * Keep yourself as committer and the contributor as the author of the commit. |
| |
| +---+ |
| |
| git commit -a --author "Amareshwari Sriramadasu <amareshwari@apache.org>" -m "LENS-123 : Adds awesome feature to lens." |
| |
| +---+ |
| |
| * Push the commit to master branch |
| |
| * Resolve the issue as fixed, thanking the contributor. Always set the "Fix Version" at this point. |
| |
| * Put incompatibility flags on, if the change is an incompatible change. |
| |
| * Add appropriate release note about what the issue is fixing. New features should have elaborate release note on |
| how to use the feature. |
| |
| |
| * Reverting a commit |
| |
| * In case you messed up your first commit - you should post a revert commit to cancel the commit by a reverse patch |
| and then post a new commit with appropriate changes. |
| |
| +--- |
| |
| git revert HEAD~1..HEAD # To revert 1 commit. |
| or, |
| git revert a4r9593432 # To revert particular commit by commit id. |
| |
| +--- |
| |
| * Backporting patches |
| |
| Once the patch is pushed to master, it can be cherry-picked and applied on other major version lines. |
| If the patch is not applicable for master and only applicable to the release version, then above guide lines of |
| review and commit needs to be followed with change of committing branch to be the release branch. |
| |
| Fix version needs to include this release version as well. |
| |
| * Updating Lens site |
| |
| Lens uses Apache SVN Pub-Sub system to maintain its website. The script tools/scripts/generate-site-public.sh can be used to generate the |
| documentation, which has to be committed to website svn. Steps are as follows - |
| |
| * Checkout website svn: svn co https://svn.apache.org/repos/asf/lens/ $SVN_SITE_DIR |
| |
| * Run tools/scripts/generate-site-public.sh $SVN_SITE_DIR |
| |
| * Add newly created files to SVN |
| |
| * Commit. (Please contact one of the committers for site SVN access) |
| |