The developers of Apache Subversion finally take down the scaffolding, giving the Subversion community their first look at version 1.7.0 of the popular source code management software. Now, a bystander familiar with Subversion 1.6 might wonder what’s different as there are no eye-catching alterations in 1.7’s look and feel. Only a trip down into the foundations reveal the changes, which are large-scale and crucial to Subversion’s future.
WC-NG (Working Copy: The Next Generation)
The biggest change goes right to the heart of Subversion and its “working copy library”, which tracks changes that are made to a user’s working copy so that Subversion knows what actions to perform on the repository, while storing meta-data and pristine copies of files in those ubiquitous “.svn” subdirectories. Subversion 1.7 delivers a completely overhauled working copy library, moving to a centralized database that does away with the .svn folders. Compatibility with all the classic APIs is maintained, while providing a significant performance boost and fixes for a large number of bugs and limitations that will help Subversion maintain its status as an SCM destination of choice.
HTTP Protocol v2
Another big change is the streamlining of the HTTP protocol for svn, placing the focus firmly on speed and compatibility. This ensures that Subversion still supports DeltaV’s beneficial features, such as “autoversioning”, while dropping much of the protocol’s inefficiencies and maddening complexities.
While the developers faced these and other major engineering challenges, they also managed to polish off a large number of little improvements and fixes, with 150 noted in Subversion 1.7’s change file. This all shows Subversion 1.7 to be the strong technological renewal that many users have been asking for, rather than a revolution in form or function.
uberSVN makes the switch
So where does this leave uberSVN? After all, dealing with the upgrade of core software technologies can be fraught with difficulties and result in unexpected problems. Well, the news is good. While uberSVN 11.10 will still default to Subversion 1.6, upgrading to Subversion 1.7 couldn’t be easier. The inclusion of the svnSWITCH tool lets the administrator upgrade with no more effort than a click and a service restart. What’s more, the switch is just as easily reversible, which should give the cautious further reason to test Subversion 1.7’s revitalized waters.