It’s no secret that WANdisco are big fans of Subversion! But we know that Subversion is far from the only revision control system on the market, so what makes Subversion so special? Here are our Top Ten reasons to give Subversion a go!
1) It’s Established – Accepted into the Apache Incubator in 2009 and graduating a year later, Subversion has been an Apache Top Level Project for well over a year, and is today maintained by a global community of contributors. Furthermore, in 2007, independent technology and market research company Forrester Research identified Subversion as the sole leader in the Standalone Software Configuration Management category, and as a strong performer in the Software Configuration and Change Management category.
2) Increasing corporate adoption of open source – Open source is enjoying increasing acceptance within the enterprise. There are plenty of reasons to adopt open source solutions, but cost is the most obvious one. With closed source solutions, there’s the initial outlay, but there can also be some hidden extras: the expense of ongoing upgrades, extra licenses if the team expands, training costs, etc. Open source solutions reap the benefits of potentially thousands of developers, all contributing their expertise to the same project. This typically means shorter release cycles than some closed source projects, and this sort of collaborative development also encourages transparent, archived communication through mailing lists and forums. This communication can be an invaluable (and free!) source of information for the Subversion user. As an open source project with all of this to offer, it’s easy to see why Subversion is gaining popularity within the enterprise! Many Fortune 1000 companies use Subversion: AT&T, Intel, Honda, Nokia, Juniper Networks and Motorola all rely on WANdisco’s Subversion solutions.
3) Vibrant ecosystem – Apache Subversion has a vibrant ecosystem of users who can be contacted for advice via mailing lists and forums. This ecosystem also includes many free client tools (including TortoiseSVN) GUIs and plugins, developed by the community. In fact, there are integrations for most – if not all – of the major IDEs: Eclipse, Microsoft Visual Studio, etc.
4) Commits as true atomic operations – commit operations to any number of files and directories are automatically published as a single atomic transaction. Every commit operation will either succeed completely, or fail completely; this guards against a situation where some of the committed files make it into the repository, and others do not. Where atomic transactions aren’t supported, interrupted commit operations can lead to repository inconsistencies or corruption.
5) Established professional support options – open source solutions can be a real asset to a project, but there are some common concerns many organizations have, regarding open source. Subversion has a great community of users who are always willing to help out, but mailing lists and forums aren’t always the ideal place to reach out to when disaster strikes your organization! Thankfully, established open source projects often have professional support options that can alleviate these worries, and Subversion is no exception! At WANdisco, we offer professional support services for Subversion, that include 24-by-7 worldwide coverage, guaranteed response times, indemnification coverage, and even help migrating to the latest and greatest version of Subversion, Subversion 1.7x.
6) Branching – Subversion supports the concept of ‘branches,’ lines of development that exist independently of another line. Branches allow developers to work on code, independently of the work going on in the trunk. None of the changes made within a branch are seen by people working in the trunk, or in any other branches, until a merge is performed. Subversion has a range of functionality for users working with branches, including commands for maintaining parallel branches, and the ability to make parts of the working copy reflect different branches. Subversion also remembers which branches are related to one another.
7) Merging – in Subversion, when multiple developers are working on the same project simultaneously, files do not need to be locked to ensure that only one developer at a time has access to the central repository of those files. Instead, Subversion encourages ‘merging,’ which is the act of replicating changes from one branch to another. Merging increases productivity, by eliminating time wasted by developers queuing up to access the same source file.
8 ) Easy to administer – when compared to competing revision control systems, administrative overhead for Subversion is fairly light.
9) Subversion 1.7 - We can’t think of a better reason to start using Subversion than a brand-new, major release! Subversion 1.7 introduces some long-awaited functionality, including:
- WC-NG – a complete rewrite of the working copy metadata system.
- Pristines – a new way of storing text-bases in 1.7.
- Merge-tracking enhancements – over 40 improvements to merge tracking.
- HTTPv2 – a new HTTP protocol variant designed to enhance performance between Subversion clients and the server.
- A new in-memory caching system for FSFS repository backends.
- Network compression – a protocol for avoiding CPU bottlenecks on the compression side.
- svnrdump – a new client tool that provides the same functionality as svnadmin dump and svnadmin load, but on remote repositories.
10) Open and extensible architecture – Subversion can be used as the foundation for your software development lifecycle. This is exactly what we have tried to do with uberSVN, WANdisco’s open ALM platform for Subversion! With uberSVN, WANdisco set out to transform Subversion into an open, extensible platform for ALM that gives users the widest choice of toolsets, with no vendor lock-in. uberSVN is free to download, easy-to-install and easy-to-use!
Have we convinced you to give Subversion a go? The latest Subversion binaries can be downloaded from the WANdisco website. And if you want to find out more about uberSVN, our ‘Top 10 Reasons to Try uberSVN’ blog post is a great place to start!