Monday, 24 September 2012

How to: Set Up a Source Control?

In an multi-developer environment, version control turns out to be a very important thing to do before crack on coding. There are certain options while setting up svn repository: 1. use public hosting service, e.g. google code, 2. set up locally repository, 3. set up network share. By comparing the usability and impact of the solutions, the last way of accessing repository seems to be more of a feasible action.

Even though dealing with day-to-day check in check out is an easy task using TortoiseSVN, to set up a network share svn repository requires a little bit more than that. That's why VisualSVN Server came to the rescue.


The step-by-step guide of setting up network share repository is as follow:


Server-side


1. Download and install VisualSVN Server

2. Open Visual SVN Server, right click on 'Repository', select 'Create New Repository'
3. Type in a name for the repository, also tick the check box 'Create default structure', which will give a nicely trunk-branch infra-structure
4. Job done on setting up network sharing svn
5. Right click on the name of the repository created, select 'Copy URL to Clipboard'

Client-side


1. Install TortoiseSVN

2. Right click on any project folder which is ready to be checked in as a trunk
3. Select 'TortoiseSVN', 'Import...'
4. Paste the https repository URL into the dialog box, and type in some comment for the check-in
5. After clicking 'OK', the project will get created in the repository in the URL
6. Right click in the folder where you would like to place the check out, select 'SVN checkout..'
7. Type in the same repository URL and set up check out directory
8. After clicking 'OK', you should get a copy of project which you can do any damage to, but be careful when checking them back in.

References: 
1. Why should set up network sharing repository: 
http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-serversetup.html
2. A step-by-step guide video of server SVN setup:
http://www.youtube.com/watch?v=yGIo9_x-YSo
3. A step-by-step guide of server SVN setup: 
http://rajibmahmud.wordpress.com/2009/01/09/work-with-visual-svn-server-tortoise-svn/