Subscribe to Rahul's Blog        RSS Feed
-----

Version Control for a single developer

Icon Leave Comment
After a 4 month long hiatus and some very persistent requests, I'm back trying to add my 2 cents to the blogosphere. Apparently more people used to read/follow/hate my blog rants than I thought. But without attaching too much drama to my return (its not too damn important) I'll get right down to it.

Most people, and this is the "important" (uber, alpha geek etc.) kind of developers, consider using a version control system an absolute essential when it comes to software development as a collaborative team effort. But I've slowly come to realize from personal experience, a version control strategy for a single developer ain't that bad - in fact its absolutely essential. Consider a scenario where there is no dedicated build team using the latest stable code to build/compile a working version of your product, you are your own IT, support, helpdesk and all other "essential" teams that churn the wheels of software development. You might wanna deploy a version control system for any project involving >5 files for a number of reasons. For anything smaller, I'd accept the use of date appended zip files.

Backup - since no one else is gonna back up your code changes, you have to do it yourself. And if you don't think this is too essential, kindly throw me a shout before you shoot yourself one day. :P

Diff'ing - you know you broke your code and you absolutely know that it happened in either of two modules. All that you can't remember is what you changed in either of those 2 months ago to bring you to this hell. Voila, version control to the rescue.

Allows scalability of users - so your manager now thinks you suck too much to be able to get something done all by yourself and he/she/it adds another developer to help you out. Won't it look better if you have a VCS already in place than sending two zipped files containing a folder structure that was built for temporary insanity?

The list could go on for quite sometime why I ramble upon the salient aspects of good practices and other such fluff. For that purpose we have Wikipedia and Google, so kindly look that up. As for the latest rage of Distributed versus Centralized VCS's, use anything as long as it fits your needs and really commits revisions. I personally use a Distributed VCS called Bazaar for my own single-developer project. I tend to favor DVCS because I mostly work by myself and its a lesser pain in the ass not to want a server running on my system which I log onto locally. I've not tried out too many other VCS, but if you're looking for recommendations, I've heard good things about Mercurial.

Finally, please use a VCS before you even begin to think you're a developer, and teach this to anyone under your wing. You tend to annoy people when you can't give them the last stable version of your module. :D

0 Comments On This Entry

 

Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

Search My Blog

Recent Entries

Recent Comments

My Picture