| //Licensed 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. |
| = Podling Source Control |
| Apache Incubator PMC |
| 2002-10-16 |
| :jbake-type: guide |
| :jbake-status: published |
| :idprefix: |
| :toc: |
| :imagesdir: ../images/ |
| |
| == Set Up Podling Source Repository |
| |
| The most important responsibility for mentors is to set up the |
| podling source repository. Podlings can choose between svn and |
| git for source control. For git, podlings may use repositories hosted at Apache, or within GitHub in the Apache organization. |
| |
| === Set up GIT Repository |
| |
| Requests for new git repos are done via link:https://selfserve.apache.org/[selfserve.apache.org]. |
| This service will initialize a new repository, setup github mirrors and enable integrations for that repository. |
| |
| Historically, the Foundation's policy |
| is to grant access to git repositories broadly to the incubator group, |
| not narrowly podling-by-podling. So, once the repository |
| exists, incubator group members gain access without further work. Once |
| the podling graduates, a dedicated ldap group will be created to manage |
| access and only those members will be given access. |
| |
| === Set Up SVN Repository |
| |
| If the podling chooses svn, you must create the |
| repository and give read/write access to the repository |
| to all the committers for the podling. This involves requesting |
| new committer accounts and granting access to mentors and existing |
| Apache committers. |
| |
| Setting up a podling subversion repository has two steps: Creating the SVN space |
| and configuring the authorization (in both svn and git). |
| |
| Create the workspace in svn. This requires commit access to the |
| incubator svn repository. Podlings are given their own subdirectory |
| of the incubator svn repository. To create the podling subdirectory, |
| the mentor executes the svn command to create a remote directory: `svn mkdir https://svn.apache.org/repos/asf/incubator/{podling}` |
| |
| Raise an INFRA JIRA to get the SVN auth file updated. |
| |
| This is a convenient time to add link:#Authorize+Committers[authorization] for committers |
| who have accounts. |
| |
| link:#who-auth-karma[Authorization] karma is restricted. If no Mentor |
| has this karma then post an email to IPMC private list requesting that this |
| is actioned. |
| |
| == Authorize Committers |
| |
| The process to add committers to the podling depends on whether |
| the new committer is already an Apache committer and whether |
| the new committer is in the list of original committers: |
| |
| - The committer is in the list of original committers in the |
| podling proposal to the incubator and is not already an Apache |
| committer: |
| ** Ask developers to send their ICLA to secretary@apache.org according to |
| link:http://apache.org/licenses/#submitting[standard procedure.] |
| Note that ICLA forms must be signed, either by hand or by digital signature. |
| ** Developers should choose an Apache id that is not already listed |
| link:http://people.apache.org/committer-index.html[here.] |
| ** Developers should enter their preferred Apache id on the ICLA |
| and enter the podling name in the "notify" field of the ICLA. |
| - The committer is in the list of original committers in the |
| podling proposal to the incubator and is already an Apache committer, only |
| link:#who-auth-karma[incubator authorization] is required. |
| - The committer was voted by the PPMC and approved by the incubator PMC: |
| |
| Perform one of the above procedures depending on whether the |
| committer is already an Apache committer on another project. |
| |
| == Incubator Access Authorization |
| |
| Special karma is required to authorize incubator access for committers. |
| This karma is limited to: |
| |
| - IPMC Members |
| - Secretary |
| - Infrastructure |
| |
| IPMC Members should use link:https://whimsy.apache.org/roster/committee/incubator[Whimsy's Roster Tool] to add existing commiters. |