Subversion, merging feels better than…

Version control is a absolute necessity these days, especially in software and web development. It helps manage a the life cycle of the software top down. The process can optimize development, releases, fixes, and enhancements. I personally cannot live with out it on any project, how big or small.

Many developers are writing applications for the Apple App Store in their spare time. Not managed by a team of QA and SCM, these projects could get hairy once put in a large scale platform like the App Store. As your code base grows, managing versions, adding enhancements, and fixing bugs can become a challenge to maintain. Imagine starting with 10 classes and ending up with over 50 in your application. How will you manage all this code?

There are many ways to handle this. A good combination of developer release notes and a version software would be optimal. I would recommend using Subversion. It is a free open source version control system. I’m not going to spend this blog to detail on how Subversion works or how version control system work in general. People dedicate books, articles, and full time corporate jobs working with subversion. It is a google search away.

Programming technical books usually spend a chapter or two discussing version control. This sounds about right. It is a simple concept, but if executed correctly, can make a small application be controlled and manageable as powerful as a large corporation’s.

Check everything in. No matter how confidant you are on it, make sure it compiles of course. If it doesn’t compile, document why and come back to it later. Remember, a steady check in of revisions can make it easier to roll back your code. Branching is also a good way of working on new enhancement or optimizations.

Branching is another great advantage of using a version control systems like Subversion. Keep your releases on their own branch and merge code as needed. Some say the satisfaction of finishing a large merge feels better than… well something that feels mighty good.

I’m not recommending getting rid of your current release manager that works with version control. I just want to make sure all you development teams of one can manage your software versions properly.

Subversion can be provided by many services on the internet or built on your own server. Remember to code safe and use Subversion (or any other version control software for that matter).

Links: Subversion, Branching and Merging,CVS

Share this:
  • Digg
  • Facebook
  • Google
  • del.icio.us
  • Mixx
  • StumbleUpon
  • LinkedIn

One Response to “Subversion, merging feels better than…”

  1. Dave Bergschneider said:

    Dec 06, 08 at 4:38 pm

    This is a good read. I love using SVN especially simply ones like TortoiseSVN because it allows me to control much of the folder architecture while uploading to remote servers such as Wordpress.


Leave a Reply