blob: 47db837c26ecacc5bb13188da1741a98f7316dee [file] [log] [blame]
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8"/>
<title>Podling Source Control</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="generator" content="JBake">
<!-- Le styles -->
<link href="../css/incubator.css" rel="stylesheet">
<link href="../css/bootstrap.css" rel="stylesheet">
<link href="../css/asciidoctor.css" rel="stylesheet">
<link href="../css/base.css" rel="stylesheet">
<link href="../css/prettify.css" rel="stylesheet">
<!-- HTML5 shim, for IE6-8 support of HTML5 elements -->
<!--[if lt IE 9]>
<script src="../js/html5shiv.min.js"></script>
<![endif]-->
<!-- Fav and touch icons -->
<!--<link rel="apple-touch-icon-precomposed" sizes="144x144" href="../assets/ico/apple-touch-icon-144-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="../assets/ico/apple-touch-icon-114-precomposed.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="../assets/ico/apple-touch-icon-72-precomposed.png">
<link rel="apple-touch-icon-precomposed" href="../assets/ico/apple-touch-icon-57-precomposed.png">-->
<link rel="shortcut icon" href="https://www.apache.org/favicon.ico">
<script src="https://www.apachecon.com/event-images/snippet.js"></script>
</head>
<body onload="prettyPrint()">
<div id="wrap">
<!-- Fixed navbar -->
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="/"><i class="icon-home"></i>Apache Incubator</a>
</div>
<div class="navbar-collapse collapse">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Policies <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/policy/incubation.html">Incubation Policy</a></li>
<li><a href="/ip-clearance/">Intellectual Property Clearance</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Proposals <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/guides/proposal.html">A Guide To Proposal Creation</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">Podling Guides <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/cookbook">Cookbook</a></li>
<li><hr><a href="/guides/roles_and_responsibilities.html">Roles and Responsibilities</a></li>
<li><a href="/guides/committer.html">Committers</a></li>
<li><a href="/guides/ppmc.html">Podling Project Management Committee</a></li>
<li><a href="/guides/community.html">Guide to Successful Community Building</a></li>
<li><hr><a href="/guides/branding.html">Incubator Branding Guide</a></li>
<li><a href="/guides/publicity.html">Podling Publicity/Media Guidelines</a></li>
<li><a href="/guides/press-kit.html">Podling Press Kit</a></li>
<li><hr><a href="/guides/transitioning_asf.html">Initial Code Import</a></li>
<li><a href="/guides/names.html">Podling Name Search Guide</a></li>
<li><a href="/guides/ip_clearance.html">Podling IP Clearance</a></li>
<li><hr><a href="/guides/sites.html">Podling Websites</a></li>
<li><a href="/guides/podling_sourcecontrol.html">Podling Source Control</a></li>
<li><hr><a href="/guides/releasemanagement.html">Release Management</a></li>
<li><a href="/guides/distribution.html">Release Distribution</a></li>
<li><hr><a href="/guides/graduation.html">Guide to Successful Graduation</a></li>
<li><a href="/guides/retirement.html">Guide to Retirement</a></li>
<li><a href="/guides/transferring.html">Transferring Resources out of the Incubator</a></li>
<li><hr><a href="/projects/#current">Current Podlings</a></li>
<li><a href="/clutch/">Clutch Report</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">PMC Guides <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="/guides/participation.html">Guide to Participation</a></li>
<li><a href="/guides/lists.html">Incubator Mailing Lists Guide</a></li>
<li><a href="/guides/chair.html">Incubator Chair Guide</a></li>
<li><a href="/guides/mentor.html">Mentors' Guide</a></li>
<li><hr><a href="/guides/website.html">Updating the top-level Incubator website</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">ASF <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
<li><a href="https://www.apache.org/dev/">Developer Documentation</a></li>
<li><a href="https://www.apache.org/foundation/">Foundation</a></li>
<li><a href="https://www.apache.org/legal/">Legal</a></li>
<hr/>
<li><a href="https://www.apache.org/licenses/">License</a></li>
<li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Privacy Policy</a></li>
<li><a href="https://www.apache.org/security/">Security</a></li>
<li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
<li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li><a href="https://www.apache.org/events/current-event">Current Events</a></li>
</ul>
</li>
<li><a href="/faq.html">FAQs</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</div>
<div class="container">
<div class="row">
<div class="col-md-4 vcenter"><a href="https://www.apache.org/"><img src="https://www.apache.org/img/asf_logo.png" alt="The Apache Software Foundation" border="0" style="margin-top: 2px" width="200"></a></div>
<div class="col-md-4 vcenter"><a href="/"><img src="https://incubator.apache.org/images/incubator_feather_egg_logo_sm.png" alt="The Apache Software Foundation Incubator" border="0" style="margin-top: 2px" width="256"></a></div>
<div class="col-md-4 vcenter">
<a href="https://www.apache.org/foundation/contributing.html"><img src="https://www.apache.org/images/SupportApache-small.png" height="64" width="64"></a>
&nbsp;&nbsp;&nbsp;&nbsp;
<a class="acevent" data-format="square" data-width="100" data-mode="light" data-event="random"></a>
</div>
</div>
</div>
<div class="top-container container">
<div class="page-header">
<h1>Guide :: Podling Source Control</h1>
</div>
<div class="article-body">
Estimated Reading Time: <span class="eta"></span>
<p><div id="toc" class="toc">
<div id="toctitle">Table of Contents</div>
<ul class="sectlevel1">
<li><a href="#set_up_a_podling_source_repository">Set up a Podling Source Repository</a>
<ul class="sectlevel2">
<li><a href="#set_up_a_git_repository">Set up a Git Repository</a></li>
<li><a href="#set_up_an_svn_repository">Set up an SVN Repository</a></li>
</ul>
</li>
<li><a href="#authorize_committers">Authorize Committers</a></li>
<li><a href="#incubator_access_authorization">Incubator Access Authorization</a></li>
</ul>
</div>
<div class="sect1">
<h2 id="set_up_a_podling_source_repository">Set up a Podling Source Repository</h2>
<div class="sectionbody">
<div class="paragraph">
<p>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&#8217;s GitBox alternative. They both point to the same files in the same repos, but some people have reservations about agreeing to Git&#8217;s terms of service for GitHub, and prefer to use GitBox.</p>
</div>
<div class="sect2">
<h3 id="set_up_a_git_repository">Set up a Git Repository</h3>
<div class="paragraph">
<p>Request a Git repository via <a href="https://selfserve.apache.org/">selfserve.apache.org</a>.
This service will initialize a repository, set up github mirrors and enable integrations for that repository.</p>
</div>
<div class="paragraph">
<p>Historically, the Foundation&#8217;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&#8217;s committers and PMC members) will have access to its repos.</p>
</div>
</div>
<div class="sect2">
<h3 id="set_up_an_svn_repository">Set up an SVN Repository</h3>
<div class="paragraph">
<p>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.</p>
</div>
<div class="paragraph">
<p>Setting up a podling Subversion repository has two steps: Creating the SVN space
and configuring its authorization.</p>
</div>
<div class="olist arabic">
<ol class="arabic">
<li>
<p>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: <code>svn mkdir <a href="https://svn.apache.org/repos/asf/incubator/{podling}" class="bare">https://svn.apache.org/repos/asf/incubator/{podling}</a></code>.</p>
</li>
<li>
<p>Raise an INFRA Jira ticket to get the SVN auth file updated.</p>
</li>
</ol>
</div>
<div class="paragraph">
<p>This is a convenient time to add <a href="#Authorize+Committers">authorization</a> for committers
who have Apache accounts.</p>
</div>
<div class="paragraph">
<p><a href="#who-auth-karma">Authorization</a> karma is restricted. If no Mentor
has this karma, post an email to the IPMC private list requesting it.</p>
</div>
</div>
</div>
</div>
<div class="sect1">
<h2 id="authorize_committers">Authorize Committers</h2>
<div class="sectionbody">
<div class="paragraph">
<p>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:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>The committer is in the list of original committers in the
podling proposal to the incubator and is not already an Apache
committer:</p>
<div class="ulist">
<ul>
<li>
<p>Ask developers to send their ICLAs to <code>secretary@apache.org</code> according to
<a href="http://apache.org/licenses/#submitting">standard procedure</a>.
Note that you must sign ICLA forms, either by hand or by digital signature.</p>
</li>
<li>
<p>Developers should choose an Apache ID that is not already listed
<a href="http://people.apache.org/committer-index.html">here</a>.</p>
</li>
<li>
<p>Developers should enter their preferred Apache ID on the ICLA
and enter the podling name in the "notify" field of the ICLA.</p>
</li>
</ul>
</div>
</li>
<li>
<p>If the committer is in the list of original committers in the
podling proposal to the Incubator and is already an Apache committer, only
<a href="#who-auth-karma">Incubator authorization</a> is required.</p>
</li>
<li>
<p>The committer was voted by the PPMC and approved by the Incubator PMC:</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>Perform one of the above procedures depending on whether the
committer is already an Apache committer on another project.</p>
</div>
</div>
</div>
<div class="sect1">
<h2 id="incubator_access_authorization">Incubator Access Authorization</h2>
<div class="sectionbody">
<div class="paragraph">
<p>Special karma is required to authorize Incubator access for committers.
This karma is limited to:</p>
</div>
<div class="ulist">
<ul>
<li>
<p>IPMC Members</p>
</li>
<li>
<p>Secretary</p>
</li>
<li>
<p>Infrastructure team members</p>
</li>
</ul>
</div>
<div class="paragraph">
<p>IPMC Members should use <a href="https://whimsy.apache.org/roster/committee/incubator">Whimsy&#8217;s Roster Tool</a> to add existing committers.</p>
</div>
</div>
</div></p>
</div>
</div>
<div id="push"></div>
</div>
<div id="footer">
<div class="container">
<p class="muted credit">&copy; 2024 The Apache Software Foundation | Licensed under the Apache License, Version 2.0.<br/>
Apache Incubator, Apache, the Apache feather logo, and the Apache Incubator project logo are trademarks or registered trademarks of The Apache Software Foundation.</p>
</div>
</div>
<script src="../js/jquery-1.11.1.min.js"></script>
<script src="../js/bootstrap.min.js"></script>
<script src="../js/prettify.js"></script>
<script src="../js/readingTime.js"></script>
<script src="../js/incubator.js"></script>
</body>
</html>