- Curriculum Vitae
What is SVN?
SVN is a very good way (in facts in the best way) to manage source during development.Using SVN a developer can always forget about backup source and can delete/refactory is own code without any of the common fears like "Damn, I've deleted something not I need" or "What I've done? This isn't useful, I must go back to...".
This because SVN save all data of your source, past version, deleted file and so on...
The SVN URL
The only information you need to use SVN is a URL that I will call SVN_URL.
If you copy/paste this URL in a browser, you can in facts navigate to the source of the software and see it.
Most SVN services provides also a SVN browser service where you can also see comment of the developers, revision number. Also you can change the revision you are browsing (and go into past version of the code).
Organization of the SVN repository
I always follow a standard way to organize the source on a SVN repository.
If you navigate to SVN_URL via browser you see a trunk folder, a tags folder and (optional) a branches folder.
The trunk contains the last and most updated version of the code.
This is where the developer test his last ideas; this is always the most recent version of the code but can also be the most buggy!
The tags area contains tagged versions of the code. Commonly this means precise software version
that was released to the users like "1.0", "1.1"... but can also be used for other
scope (e.g: "version-for-jimmy")
Tags are never modified after the creation.
The branches are similar to tags ones, but the developer create a branch to change it, try new solution, fix
some old bug for old release of the software (of course, bugs that aren't present in the last trunk)...
Branches are uncommon in little software projects.
Get the source!
On linux/UNIX based systems you need only a packet called subversion to checkout from SVN.
You can type from a shell
svn co SVN_URL/trunk name
In this way you download from the repository the trunk (see above) version of the code in a folder called name at current position on your filesystem.
...and on Windows systems?
There are many GUI based SVN client. My favorite ones is
This is very powerful and very simple in use!
More about SVN
SVN do a lot of things! For more info about it look on the web!