Monday, March 22, 2010

Why go for SVN, over CVS? ...SVN adopted into Apache family!

SVN is gaining popularity as a version control system.
On 17 February 2010 it has become Apache Subversion.


Subversion uses the WebDAV and DeltaV extensions to the HTTP protocol for client/server communications.

Should refer:
1. http://en.wikipedia.org/wiki/Subversion_(software)
    a. #Layers
    b. #Filesystem
    c. #Properties
    d. #Branching_and_tagging
2. Official site: http://subversion.apache.org/
3. HOWTO setup Subversion for Windows with Apache: http://svn.spears.at/


Good reference material:- 
1. http://svnbook.red-bean.com/en/1.5/svn-book.pdf
2. On nightly builds:- http://svnbook.red-bean.com/nightly/en/svn-book.pdf


Why SVN better go than CVS?
1. Guarenteed Atomic commits 
2. rename files and keep versioning history
3. No physical difference between tags & branch - only logical difference. So, branching and tagging constant time operations. Both of these are implemented simply by copying the directory you are tagging, and have a cost the same as any other copy. 
4. uses a diffing algorithm called Vdelta to provide efficient binary diffing (eg: .ps, .pdf etc)
5. Client-server communication: if we modify a local file and commit, only the differences between our local file and the most recent revision we have locally are sent to the server, meaning a lot less use of bandwidth.
Refer:- http://www.linux.ie/articles/subversion/


SVN packages can be found at:
http://subversion.apache.org/packages.html


Install Commands for Linux:
1. Fedora:-  $ yum install subversion 
2. Debian:-  $ apt-get install subversion
3. Ubuntu:-  $ apt-get install subversion
4. OpenBSD:- $ pkg_add subversion 
5. FreeBSD:-  
        $ cd /usr/ports/devel/subversion
        $ make install


Next BIG version control coming up: GIT developed by Linus Trovalds for Linux Kernel development[http://en.wikipedia.org/wiki/Git_(software)]

No comments:

Post a Comment