blob: 5321f645b1f590d984a3eb00a7fcaafc0b94e45d [file] [log] [blame]
//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.