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

<h3>Accessing Source</h3>



<h3>Patches</h3>

<p>You can <a href="downloads/">download</a> fixes for particular releases
of busybox, e.g. downloads/fixes-<em>major</em>-<em>minor</em>-<em>patch</em>/

<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 <em>stable branches</em> can be obtained with
<pre>
svn co svn://busybox.net/branches/busybox_1_NN_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" -->

