<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta content="Apache Forrest" name="Generator">
<meta name="Forrest-version" content="0.7">
<meta name="Forrest-skin-name" content="pelt">
<title>Hadoop Version Control System</title>
<link type="text/css" href="skin/basic.css" rel="stylesheet">
<link media="screen" type="text/css" href="skin/screen.css" rel="stylesheet">
<link media="print" type="text/css" href="skin/print.css" rel="stylesheet">
<link type="text/css" href="skin/profile.css" rel="stylesheet">
<script src="skin/getBlank.js" language="javascript" type="text/javascript"></script><script src="skin/getMenu.js" language="javascript" type="text/javascript"></script><script src="skin/fontsize.js" language="javascript" type="text/javascript"></script>
<link rel="shortcut icon" href="images/favicon.ico">
</head>
<body onload="init()">
<script type="text/javascript">ndeSetTextSize();</script>
<div id="top">
<div class="breadtrail">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://lucene.apache.org/">Lucene</a> &gt; <a href="http://lucene.apache.org/hadoop/">Hadoop</a><script src="skin/breadcrumbs.js" language="JavaScript" type="text/javascript"></script>
</div>
<div class="header">
<div class="grouplogo">
<a href="http://lucene.apache.org/"><img class="logoImage" alt="Lucene" src="http://lucene.apache.org/java/docs/images/lucene_green_150.gif" title="Apache Lucene"></a>
</div>
<div class="projectlogo">
<a href="http://lucene.apache.org/hadoop/"><img class="logoImage" alt="Hadoop" src="images/hadoop-logo.jpg" title="Scalable Computing Platform"></a>
</div>
<div class="searchbox">
<form action="http://www.google.com/search" method="get" class="roundtopsmall">
<input value="lucene.apache.org" name="sitesearch" type="hidden"><input onFocus="getBlank (this, 'Search the site with google');" size="25" name="q" id="query" type="text" value="Search the site with google">&nbsp; 
                    <input attr="value" name="Search" value="Search" type="submit">
</form>
</div>
<ul id="tabs">
<li class="current">
<a class="base-selected" href="index.html">Main</a>
</li>
<li>
<a class="base-not-selected" href="http://wiki.apache.org/lucene-hadoop">Wiki</a>
</li>
</ul>
</div>
</div>
<div id="main">
<div id="publishedStrip">
<div id="level2tabs"></div>
<script type="text/javascript"><!--
document.write("<text>Last Published:</text> " + document.lastModified);
//  --></script>
</div>
<div class="breadtrail">
             
             &nbsp;
           </div>
<div id="menu">
<div onclick="SwitchMenu('menu_1.1', 'skin/')" id="menu_1.1Title" class="menutitle">Project</div>
<div id="menu_1.1" class="menuitemgroup">
<div class="menuitem">
<a href="index.html">News</a>
</div>
<div class="menuitem">
<a href="about.html">About</a>
</div>
<div class="menuitem">
<a href="credits.html">Credits</a>
</div>
<div class="menuitem">
<a href="http://www.cafepress.com/hadoop/">Buy Stuff</a>
</div>
</div>
<div onclick="SwitchMenu('menu_1.2', 'skin/')" id="menu_1.2Title" class="menutitle">Documentation</div>
<div id="menu_1.2" class="menuitemgroup">
<div class="menuitem">
<a href="http://wiki.apache.org/lucene-hadoop/">Wiki</a>
</div>
<div class="menuitem">
<a href="docs/api/">API Docs</a>
</div>
</div>
<div onclick="SwitchMenu('menu_selected_1.3', 'skin/')" id="menu_selected_1.3Title" class="menutitle" style="background-image: url('skin/images/chapter_open.gif');">Resources</div>
<div id="menu_selected_1.3" class="selectedmenuitemgroup" style="display: block;">
<div class="menuitem">
<a href="http://www.apache.org/dyn/closer.cgi/lucene/hadoop/">Download</a>
</div>
<div class="menuitem">
<a href="mailing_lists.html">Mailing Lists</a>
</div>
<div class="menuitem">
<a href="issue_tracking.html">Issue Tracking</a>
</div>
<div class="menupage">
<div class="menupagetitle">Version Control</div>
</div>
</div>
<div onclick="SwitchMenu('menu_1.4', 'skin/')" id="menu_1.4Title" class="menutitle">Related Projects</div>
<div id="menu_1.4" class="menuitemgroup">
<div class="menuitem">
<a href="http://lucene.apache.org/java/">Lucene</a>
</div>
<div class="menuitem">
<a href="http://lucene.apache.org/nutch/">Nutch</a>
</div>
</div>
<div id="credit"></div>
<div id="roundbottom">
<img style="display: none" class="corner" height="15" width="15" alt="" src="skin/images/rc-b-l-15-1body-2menu-3menu.png"></div>
<div id="credit2"></div>
</div>
<div id="content">
<div title="Portable Document Format" class="pdflink">
<a class="dida" href="version_control.pdf"><img alt="PDF -icon" src="skin/images/pdfdoc.gif" class="skin"><br>
        PDF</a>
</div>
<h1>Hadoop Version Control System</h1>
<div id="minitoc-area">
<ul class="minitoc">
<li>
<a href="#Overview">Overview</a>
</li>
<li>
<a href="#Web+Access+%28read-only%29">Web Access (read-only)</a>
</li>
<li>
<a href="#Anonymous+Access+%28read-only%29">Anonymous Access (read-only)</a>
</li>
<li>
<a href="#Committer+Access+%28read-write%29">Committer Access (read-write)</a>
</li>
</ul>
</div>
  
    
<a name="N1000C"></a><a name="Overview"></a>
<h2 class="h3">Overview</h2>
<div class="section">
<p>
        The Hadoop source code resides in the Apache <a href="http://subversion.tigris.org/">Subversion (SVN)</a> repository.
        The command-line SVN client can be obtained <a href="http://subversion.tigris.org/project_packages.html">here</a>.
        The TortoiseSVN GUI client for Windows can be obtained <a href="http://tortoisesvn.tigris.org/">here</a>. There
        are also SVN plugins available for both <a href="http://subclipse.tigris.org/">Eclipse</a> and 
        <a href="http://svnup.tigris.org/">IntelliJ IDEA</a>.
      </p>
</div>
    
    
<a name="N1002A"></a><a name="Web+Access+%28read-only%29"></a>
<h2 class="h3">Web Access (read-only)</h2>
<div class="section">
<p>
        The source code can be browsed via the Web at 
        <a href="http://svn.apache.org/viewcvs.cgi/lucene/hadoop/">http://svn.apache.org/viewcvs.cgi/lucene/hadoop/</a>.
        No SVN client software is required.
      </p>
</div>
    
    
<a name="N10038"></a><a name="Anonymous+Access+%28read-only%29"></a>
<h2 class="h3">Anonymous Access (read-only)</h2>
<div class="section">
<p>
        The SVN URL for anonymous users is 
        <a href="http://svn.apache.org/repos/asf/lucene/hadoop/">http://svn.apache.org/repos/asf/lucene/hadoop/</a>.
        Instructions for anonymous SVN access are 
        <a href="http://www.apache.org/dev/version-control.html#anon-svn">here</a>.
      </p>
</div>
    
    
<a name="N1004A"></a><a name="Committer+Access+%28read-write%29"></a>
<h2 class="h3">Committer Access (read-write)</h2>
<div class="section">
<p>
        The SVN URL for committers is 
        <a href="https://svn.apache.org/repos/asf/lucene/hadoop/">https://svn.apache.org/repos/asf/lucene/hadoop/</a>.
        Instructions for committer SVN access are 
        <a href="http://www.apache.org/dev/version-control.html#https-svn">here</a>.
      </p>
</div>
    
  
</div>
<div class="clearboth">&nbsp;</div>
</div>
<div id="footer">
<div class="lastmodified">
<script type="text/javascript"><!--
document.write("<text>Last Published:</text> " + document.lastModified);
//  --></script>
</div>
<div class="copyright">
        Copyright &copy;
         2005 <a href="http://www.apache.org/licenses/">The Apache Software Foundation.</a>
</div>
</div>
</body>
</html>
