So i have been working with a small personal coding project the last days, and i noticed that i will be distributing the code among several directories and files and i also need to go forward and backward in the code revisions, so i decided to get started with Subversion -- The version control system.

I had some problems at first, then things started to get really good after some searching for information here and there, so here is a simple tutorial that will get you up with subversion in no time isA

First of all, What is Version control ?

Revision control (also known as version control (system) (VCS), source control or (source) code management (SCM)) is the management of multiple revisions of the same unit of information

Changes to these documents are usually identified by incrementing an associated number or letter code, termed the “revision number”, “revision level”, or simply “revision” and associated historically with the person making the change

So how does this apply to coding and source code, well, when you are working with lots of code some times you need to know how did the code look like at a specific time or specific “version”.

also when there is more than one person collabarating to the same project, you need to know who changed that specific piece of code, when he did he changed it and if he commented on the change so you can know about his work

Here is a nice video on youtube than explains the issue in a very simple scenario :)

Cool, What is Subversion ?

Subversion (SVN) is a version control system initiated in 2000 by CollabNet Inc. It is used to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly-compatible successor to the widely used Concurrent Versions System (CVS).

SVN is an Open source software and it is currently replacing the CVS

What are the ingredients that i need to start working with SubVersion ?

The Server

First, you need a SVN Server (SVN works on server/client architecture), which basically contains some kind of a database that holds information about the different “revisions” of your code

we will skip setting up the server part as we will be using a hosted service on a remote server (note that you can actually build one on your local machine).

I have searched for a lot of online services and i think the best one that fitted my needs is XP-Dev.com

Go register an account there, and after logging in create a SubVersion repo from the “subversion” tab

after you create the repo, you will get the following URLs

https://svn.xp-dev.com/svn/repo_name/ (SSL)
http://svn.xp-dev.com/svn/repo_name/ (No SSL)

So these are the URLs that you can use to access the files in the repo and also use with SVN client

The Client

The client is used to connect to the SVN server, at our case we will be using the svn command under UNIX/Linux based systems, if you want a GUI you can use RapidSVN under Linux and TorsieSVN under windows

We will be discussing the Client in the next Post isA :D

Please share your comments on the materials presented here , may be we will put it in the Hackers Wiki if it is good enough

سبحانك اللهم و بحمدك..أشهد ان لا اله الا أنت..أستغفرك و أتوب إليك

Share it:
  • Google Bookmarks
  • del.icio.us
  • Facebook
  • TwitThis
  • Digg
  • Live
  • Slashdot
  • Technorati
  • Ma.gnolia
  • email
  • StumbleUpon
  • LinkedIn
  1. MMF says:

    wow
    thanks Ahmed :)
    el video explain it well
    i like it more .

  2. Yeah, the video is totally good in simply explaining SVN :smile:
    The next part will be more informative isA

  3. S says:

    very nice video,it explains it all. Plz continue explaining the client.