<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html><head><title>Apache Axis2/C - Developing Apache Axis2/C</title><h2>Developing Apache Axis2/C</h2><p>This document provides information on how to use SVN to get an SVN
checkout/update and make commits to the source repository.</p><div class="subsection"><a name="Contents"></a><h3>Contents</h3><ul>
  <li><a href="#svn">Working with Subversion (SVN)</a></li>
  <li><a href="#checkout">Checking-out Axis2 from Subversion</a></li>
</ul><p><a name="svn"></a></p></div><div class="subsection"><a name="Working_with_Subversion__SVN_"></a><h3>Working with Subversion (SVN)</h3><p>The Apache Axis2/C development team uses Subversion (SVN) for source
control. Subversion is a compelling replacement for CVS, developed under the
auspices of the Tigris community and is licensed under an Apache compatible
license. To learn more about Subversion or to download the latest
distribution, visit the <a href="http:///subversion.tigris.org" class="newWindow" title="New Window" target="_blank">Subversion project site</a>. If you are looking for
guidelines on setting up/installing Subversion, please read the ASF <a href="http://www.apache.org/dev/version-control.html" class="newWindow" title="New Window" target="_blank">Source
Code Repositories page</a>.</p><p><a name="checkout"></a></p></div><div class="subsection"><a name="Checking-out_Apache_Axis2_C_from_Subversion"></a><h3>Checking-out Apache Axis2/C from Subversion</h3><p>When checking out the latest version of Apache Axis2/C from the Apache
Foundation's Subversion repository, you must use one of the following URLs,
depending on your level of access to the Apache Axis2/C source code:</p><ul>
  <li><b>If you are not a committer:</b><a href="http://svn.apache.org/repos/asf/webservices/axis2/trunk/c" class="newWindow" title="New Window" target="_blank">http://svn.apache.org/repos/asf/webservices/axis2/trunk/c</a></li>
  <li><b>If you are a committer:</b> <a href="https://svn.apache.org/repos/asf/webservices/axis2/trunk/c" class="newWindow" title="New Window" target="_blank">https://svn.apache.org/repos/asf/webservices/axis2/trunk/c</a></li>
</ul><p>
If you are a committer, make sure that you have set your svnpasswd. To do
this you must log into svn.apache.org.  For more information, please read the
ASF <a href="http://www.apache.org/dev/version-control.html" class="newWindow" title="New Window" target="_blank">Source Code Repositories page</a>.

</p><p>Once you have successfully installed Subversion, you can checkout the
Axis2/C trunk by running the following command:</p><p><strong>svn co &lt;repository URL&gt; &lt;folder name&gt;</strong></p><p>where 'repository URL' is one of the URLs from the previous list and
'folder name' is the name of the folder into which the source code is to be
checked out.</p><br></br><p>To update your working copy to the latest version from the repository,
execute:</p><p><strong>svn update</strong></p><br></br><p>If you would like to submit a patch, execute:</p><p><strong>svn diff</strong></p><p>The above command will create a unified diff that can be attached to the
Apache Axis2/C JIRA issue tracker.</p><br></br></div></div></div></div><div class="clear"><hr></hr></div></body></html>
