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

