<!--#include file="header.html" -->

<h3>Accessing Source</h3>



<h2>Patches</h2>

<p>If you don't want to mess with subversion, you can download
<a href="/downloads/patches/">all BusyBox patches</a> or check the
<a href="/downloads/patches/last10.html">ten most recent</a>.

<h3>Anonymous Subversion Access</h3>

We allow anonymous (read-only) Subversion (svn) access to everyone.  To
grab a copy of the latest version of BusyBox using anonymous svn access:

<pre>
svn co svn://busybox.net/trunk/busybox</pre>

<p>
The current <em>stable branch</em> can be obtained with
<pre>
svn co svn://busybox.net/branches/busybox_1_1_stable
</pre>

</p>
<p>

If you are not already familiar with using Subversion, I recommend you visit <a
href="http://subversion.tigris.org/">the Subversion website</a>.  You might
also want to read online or buy a copy of <a
href="http://svnbook.red-bean.com/">the Subversion Book</a>.  If you are
already comfortable with using CVS, you may want to skip ahead to the <a
href="http://svnbook.red-bean.com/en/1.1/apa.html">Subversion for CVS Users</a>
part of the Subversion Book.

<p>

Once you've checked out a copy of the source tree, you can update your source
tree at any time so it is in sync with the latest and greatest by entering your
BusyBox directory and running the command:

<pre>
svn update</pre>

Because you've only been granted anonymous access to the tree, you won't be
able to commit any changes. Changes can be submitted for inclusion by posting
them to the BusyBox mailing list.  For those that are actively contributing
<a href="developer.html">Subversion commit access</a> can be made available.

<!--#include file="footer.html" -->

