For any team based development, not using any form of source control is a recipe for disaster. Individual developers each with their own un-synchronised copies of the code will sooner or later result in the loss of work as one developer unknowingly overwrites anothers recent changes. Then you have the situation of a recent change causing major knock on effects to the system, yet nobody can remember exactly what it was that was changed (or who did it).
That’s just two of many many reasons to use a source control system for collaborative work and yet there are still many projects that don’t take advantage of it. Source control isn’t just for team projects either, solo developers can benefit in a number of way. For many years I’ve been running cvs (and now subversion) locally for any project I develop. Once you get used to the extra steps of setting up your repository and commiting your work you’ll soon begin to reap the rewards.
Having the ability to test out new ideas then rolling back to your previous version if it doesn’t work, or jump back to a previously stable version of code when you’ve really made a mess of things is a real time saver.
Another benefit comes after releasing a build version of your code. Simply tag the source code as version1.0 and continue on developing on your main trunk of the code. Then when the inevitable bug reports start to come in, you can check out a copy of version1.0, fix the bug and issue an updated build without worrying about the version2.0 features breaking anything or been included in the build. With merge support you can also easily integrate those bug fixes into version2.0 as well.
I could go on and on about the ways source control can save time and make your life that much easier, but I’ll spare you the details and instead direct everyone to the subversion online book.
KDevelop users will find using subversion a breeze considering it has built in support. If your a Gentoo user, add “subversion” to your USES flag in make.conf and emerge subversion and then kdevelop. You should then be able to select subversion as the versioning system in your project->options.
One gotcha is that KDevelop will complain that “svn+http” is not a registered protocol when you try to use any of the subversion options if you don’t have the appropriate kde services registered. This is simple to fix (although it took a while to find out what the error actually meant) , you just need to “emerge kdesdk-kioslaves”.
If you don’t already use subversion (or another versioning system) for your projects, you really should consider doing so, especially if you plan on collaborating with other developers.
Subversion is not only incredibly straight forward to install/setup (for most configurations), stable and feature rich, it is also free. So there really is no excuse for not using at least some form of source control. Spend a little time learning how to use the tools available to you and you’ll save yourself a great deal of time and effort in the future.