# How to download FreeBSD-Current or FreeBSD-Stable using svn?



## rhyous (Dec 27, 2009)

*How to download FreeBSD-Current or FreeBSD-STABLE using svn?*



> The goal of this article is to help users who want to get started developing on FreeBSD and want to contribute code fixes/changes/enhancements to FreeBSD. I really try to be â€œnewbieâ€ proof, so even a newbie can do this, so if you think I am stating the obvious, then skip what you already know.
> 
> The first thing you need to do in order to work on FreeBSD code is to download the FreeBSD code itself.
> 
> Read more here...



I didn't see any "How to" on this subject here, so I wrote this one, even though it is simple, I thought it was needed because I had always used cvs and not svn.

Feel free to give me feed back, report typos, or errors, etc...


----------



## Alt (Dec 27, 2009)

Tnx =)


----------



## phoenix (Dec 27, 2009)

Didn't know about "svn list", that's handy, thanks.

A note for those who want to play with multiple source trees:

When compiling the world, /usr/obj/ includes the name of the source tree, so if you have /usr/src-7, /usr/src-8, /usr/src-7.2 and so on, you can use a single /usr/obj.  You'll get paths like /usr/obj/usr/src-7/ and /usr/obj/usr/src-8, and so on.  Quite handy if you want to play.  

To "update" your source tree between versions, use *svn switch*.  For example, if you initially did `# svn co [url=svn://svn.freebsd.org/base/releng/7.2/]svn://svn.freebsd.org/base/releng/7.2/[/url]` but want to do a source upgrade to 8.0, then use `# svn switch [url=svn://svn.freebsd.org/base/releng/8.0/]svn://svn.freebsd.org/base/releng/8.0/[/url]`

The nice thing about using svn, is that you can follow the -CURRENT, -STABLE, or security trees with ease, as a "source tree update" is a simple *svn update* in the source directory.


----------

