SVN Revision and Source Control

What is revision control, a.k.a source control?
At it’s core, what this term really means is a way for you to track changes that you may make over time to a particular file.

Each time you change the file and save/commit the change, it is stored as a transaction so you can easily roll back any changes you made at a later date, or search through the history to see something that may have been previously deleted or functional before recent changes.

Business documents usually contain multiple revisions, and knowing if you have the latest copy of a document floating around can be a headache if it changes frequently and the only form of distribution in your organization is email.

Source control will allow you to store all changes from multiple people in a single location, with intact historical reference to each change that is made.

Some source control systems are very popular, such as Microsoft VSS, TFS, SVN and CVS, however, many alternatives exist. There even exists a wikipedia page dedicated to listing a comparative chart of many different types.

After using many of these varieties, I have come to the conclusion that TFS and SVN are roughly equivalent in terms of enterprise scalability and functionality, and also the best overall solutions for development teams IMO. (I may post the proof and comparisons at a later date, too much for this post).

Right out of the box, SVN may not seem like much. To achieve the same functionality you get in a complete TFS installation, alot of configuration and installation must be done, but the end result is much easier to use in an SVN environment.

My recommended setup for SVN on Windows is as follows:
Tortoise SVN, http://tortoisesvn.tigris.org/
Ankh SVN, http://ankhsvn.open.collab.net/
Subversion Edge (SVN CLI), http://www.collab.net/downloads/subversion/
SVN Notifier, http://svnnotifier.tigris.org/
Good .Net API Reference, http://svnexpert.svn.sourceforge.net

Tortoise is a good tool for browsing the SVN repository and keeping your local folders in sync. Ankh is a Visual Studio plugin which allows for easy syncing directly from your IDE which is a nice feature esp. if migrating from a MS source control variant. Collabnet Subversion Edge is a good lightweight CLI if you are curious on all of the options available in SVN, or need to script something out automated. SVN Notifier is a good little utility that runs as a service and notifies you when updates occur from other team members. It also serves to automatically keep your files in sync as they are updated.

References
Wikipedia, “Comparison of revision control software”, http://en.wikipedia.org/wiki/Comparison_of_revision_control_software
Wikipedia, “Revision Control”, http://en.wikipedia.org/wiki/Revision_control
Wikipedia, “Apache Subversion”, http://en.wikipedia.org/wiki/Apache_Subversion
Wikipedia, “Microsoft Visual Source Safe”, http://en.wikipedia.org/wiki/Microsoft_Visual_SourceSafe
Wikipedia,”Concurrent Versions System”, http://en.wikipedia.org/wiki/Concurrent_Versions_System
Wikipedia, “Team Foundation Server”, http://en.wikipedia.org/wiki/Team_Foundation_Server

Advertisements

About Ronnie Diaz

Ronnie Diaz is an enterprise software engineer responsible for front-end and back-end development for companies in many industries. Heavily involved in cloud development, online retail, e-commerce and electronic ordering, fulfillment and customer relational systems.

Posted on February 2, 2011, in Programming & Development and tagged , , , , , , , , , , , , , , , , . Bookmark the permalink. Leave a comment.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: