What is SVN? What is CVS? What is Subversion? Part 2. ~ Ask The Admin

Thursday, July 12, 2007

What is SVN? What is CVS? What is Subversion? Part 2.

Good Morning Ladies & Gents !
Today I close off my 2 part series about Subversion. In part 1 we called for everyone to chime in on how they use Subversion in their organization. In part 2 I'll discuss a general overview of exactly what it is and why it's practical for everyday use.
It started from CVS (not the pharmacy) which stands for Concurrent Versioning System. This was the earlier command-line driven version that developers used to track multiple concurrent changes in a bunch of files being worked on by a bunch of programmers. It was a god-send to programmers that alleviated alot of painted-yourself-into-a-corner situations, allowing developers to roll back to another (person's) previous version of a file.
The system was then improved upon into what is known today to be Subversion, or SVN. SVN is still a command line driven program, however an open-source proggy called TortoiseSVN integrates itself into your windows explorer shell. This means that a folder you want to keep track of will give you immediately recognizable visual cues as to the version status of each file. Basically it acts like it's watching over a versioned folder and keeping track of every little, minute change. It also adds functionality to the right-click menu of each or several versioned files, allowing all tasks to be performed through the right click menu. This completely erases the need to communicate with the SVN server through archaic commands and a black and white command prompt window. This is the feature I believe is what makes it practical for regular design schmos, such as myself, to version files and save myself alot of trouble.
The SVN program has 2 main components: The Server and the Shell. The server component, which is 'nix based, keeps track of all the files and deltas in your projects. Installing the server on a windows machine was pretty simple, thanks to the abundance of readily available FAQ's and walkthroughs, all available by searching google for 'install SVN server' and following one of the walkthrus out there. Its almost like setting up IIS to serve a webpage from your machine except its not pre-installed.
The client component comes in several forms, but the most popular, and user friendly in my opinion, is the Tortoise interface. This part of the program communicates with the server part and stores some small hook files as well, which work in unison with file deltas stored on the server. It installs through an install-shield type interface, and all it needs to get started is the IP address or name of the SVN server with username and password. That's it. You checkout the files with those credentials and your versioned. Or at that point you can establish delta #1 of your version folder, your starting point.
You now have a software agent watching any and every change in the subset of files on your machine that your project is comprised of. Whether it's PhotoShop PSDs or Flash FLAs or ASP or HTML or C# or whatever you work on: PDFs, Word docs and PowerPoint files can all be tracked as well.
For more in depth installation instructions, FAQ's, blogs, updates, and downloads visit http://www.tigris.org/
That's all for me folks. Drop any questions you like here in the comments, cuz we like that here, in the comments.