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

<h3>Accessing Source</h3>



<h3>Patches</h3>

<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/recent.html">most recent patches</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>

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" -->

