Apache Subversion is gaining increasing popularity within the enterprise and, when you consider all the potential benefits, it’s easy to see why. Client requirements change, and new features can sometimes cause more problems than they fix. In these situations, Subversion effectively provides you with an undo button, allowing you to write some code, realise it doesn’t work, revert to a previous revision, write some more code that does work – and finally receive new client requirements and restore the original version of your project, ready to start again from scratch. Without Subversion, the above situation would have to be managed manually, but SVN provides all the functionality you need to make such situations as straightforward as possible.
Still on the fence about whether Subversion has a place in the enterprise? Here are our top three reasons, for keeping your enterprise projects under SVN’s version control:
- Easy Collaboration – Subversion makes collaboration easier by allowing multiple developers to access the same code in a central repository, regardless of geographical location. This is invaluable in distributed, global organisations.
- Keep Up to Date With Changes – Subversion keeps development teams synchronized with the latest changes in the central repository. Developers can pull all the latest changes into their working copy with a simple ‘svn update’ command.
- Revert to Previous Revisions – Subversion’s version tracking functionality allows you to recover previous versions of your project without the hassle of manually unpicking your changes. This is useful if you have implemented changes that haven’t worked out, or turned out to be unnecessary. In some situations, it may even be quicker to revert to an earlier revision and then re-implement only the changes that worked, rather than trying to isolate and remove specific changes. Having an easy way to restore previous revisions when development teams hit difficulties, can also have a big impact on maintenance costs.
- Improved Productivity – Ultimately, Subversion improves developer productivity. It allows multiple developers to work on the same project, at the same time, and imposes conventions that mean complications caused by accidental overwrites, lack of communication and manual merging, are less likely. Whenever defects are introduced, version control gives you the option of rolling back to a time before these defects found their way into your project.