Tuesday, June 03, 2008

Open Source Control Version System (Part 1)

When Software Projects become larger and more people is involved, there's need to keep control of source code files.
Usually, several users have to make changes at the same time in a core file. Doing this the wrong way may lead to delete changes made by a developer, wasting a lot of time and raising errors in the coding.
Fortunately, there's Version Control software which keeps track of who is using a file, keep versions of that files, allows merging, branching and other cool stuff to keep your software project synchronized.
There are several vendors and open open source versions of this software, and a couple of models. Please check the List of Revision Control Software.

In this case we are going to setup a Control software using a Client-Server model with an open source application.

Server Side

VisualSVN is our choice, because it's Open Source, provides an easy installation package and a clean control panel. Just download it from VisualSVN. After downloading, run the setup and follow the wizard:

Next, set install location and repositories path. Repository is where the files will be physically located (Please do not modify anything inside repositories unless you know exactly what are you doing). Also, set the server port. VisualSVN Server runs on Apache server and it can be accessed through http protocol, that is, you can have some access using a web browser.

That's all. Now you can access the control panel using the Manager:

First of all you have to create the users who will have access to the repository by clicking on the "Create new user" link.

Final step in the server side is create the New Repository, that is, the particular space where the application files will be stored. I created a sample for this:

You can check if your system is running properly by logging to the VisualSVN server location using a web browser (As I am running local, I just entered localhost:8080/svn/SimpleSample):

Just remember you log in using the SVN user you created previously. You can create a user for each developer, so when you track changes you can view who modified the application by the means of this user.

No comments: