Version Control with Subversion

Tags: Software

SubversionWorking on a coding project? Got multiple people working on it? Trying to track your code changes across multiple revisions?

Life hacker has 2 great articles to help get you started.

How to set up a personal home Subversion server and Using Subversion with TortoiseSVN.

After using TortoiseSVN I found that I preffred the simple (don’t take over your PC) approach of RapidSVN. It can check in/out your code for you, though it doesn’t do diffs unless you have a third party program for that.

If you have your own apache server then you can setup your own SVN repisotry, check below for details.

My notes:

==========================
Subversion Setup:
==========================

Install:
==========================
apt-get install libapache2-svn subversion

Edit: /etc/apache2/apache2.conf
==========================
Add a new SVN repisotry.

DAV svn
SVNPath “/u02/svn/dnslookup”
AuthType Basic
AuthName “Subversion repository”
AuthUserFile “/u02/svn_conf/passwd”
Require valid-user
Create password file:
htpasswd -c /u02/svn_conf/passwd username
(you are prompted for password)

Acces it via:
http:///svn-dns
(promtpts for username/password)

Create the svn repisotry:
==========================
cd /u02/svn/
svnadmin create dnslookup

fix permisions (not sure of the exact ones yet)
chmod -R 777 dnslookup

makes dir:
/u02/svn/dnslookup

Checkout, Edit changes, Commit:
==========================
Use a tool like rapidsvn to check out the files.
Make changes with your favourite editor.
Commit changes with rapidsvn

Backup:
==========================
svnadmin dump /u02/svn/dnslookup/ > svn-dnslookup.dmp

Easy once you know how :-)