| //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 a Podling Source Repository |
| |
| The most important responsibility for mentors is to set up the |
| podling source repository. Podlings can choose between Subversion and |
| Git for source control. For Git, podlings can access their repositories through GitHub, or through Apache's GitBox alternative. They both point to the same files in the same repos, but some people have reservations about agreeing to Git's terms of service for GitHub, and prefer to use GitBox. |
| |
| === Set up a Git Repository |
| |
| Request a Git repository via link:https://selfserve.apache.org/[selfserve.apache.org]. |
| This service will initialize a repository, set up 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 to it without further work. Once |
| the podling graduates, a dedicated LDAP group will be created to manage |
| access and only people listed in that group (the project's committers and PMC members) will have access to its repos. |
| |
| === Set up an 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 its authorization. |
| |
| 1. Create the workspace in SVN. This requires commit access to the |
| Incubator SVN repository. Each podling has its 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}`. |
| |
| 2. Raise an INFRA Jira ticket to get the SVN auth file updated. |
| |
| This is a convenient time to add link:#Authorize+Committers[authorization] for committers |
| who have Apache accounts. |
| |
| link:#who-auth-karma[Authorization] karma is restricted. If no Mentor |
| has this karma, post an email to the IPMC private list requesting it. |
| |
| == 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 ICLAs to `secretary@apache.org` according to |
| link:http://apache.org/licenses/#submitting[standard procedure]. |
| Note that you must sign ICLA forms, 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. |
| - If 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 team members |
| |
| IPMC Members should use link:https://whimsy.apache.org/roster/committee/incubator[Whimsy's Roster Tool] to add existing committers. |