Notes From the Field: A Conversation with SVN Specialist Julian Foad on Subversion 1.10

Rachel Romoff on April 19, 2018

Last week, our friends at the Apache Foundation released Subversion 1.10, a long awaited update to SVN and a major milestone for the SVN community.  At Assembla, we believe in the future of Subversion, and we have around 4000 users who run on SVN. These users trust SVN to run their businesses and create in a scalable and secure environment.

Last year, we hired a world-class SVN specialist, Julian Foad, to help move SVN forward. Since then, he’s been hard at work making strides in SVN core components, like long awaited shelving and checkpointing, that Assembla's NextGen SVN is built upon.

We’ve recently caught up with the talented Julian to learn more about the Apache SVN update, his role in the project and what SVN users can expect from version 1.10. Keep reading for his perspective on the latest release!

Assembla: Who are you and what is your role at Assembla?

Julian Foad: I am a specialist in Subversion core software, developing new features and improvements and fixes, and assisting with integration of Subversion into Assembla's services. I link Assembla to the Subversion open-source project community, with whom I have been working since version 1.0 back in 2004.

A: What is your role within the Apache Subversion Community/ Foundation?

JF: Subversion is a member project of the non-profit Apache Software Foundation (ASF) that also makes the Apache web server. I am one of the developers invited to have commit privileges to the core source code, and also a member of the Subversion Project Management Committee. The core of the developer community is made up of a few dozen individuals, most volunteering their efforts, and a few like myself able to contribute on their employer's time. Around that is a wider community of many people who contribute fixes and suggestions and help other users.

A: What’s new in Apache SVN 1.10?

JF: The notable points, apart from many bug fixes and small improvements, are two server-side improvements:

  • Improved path-based authorization
    •     -Repository administrator can use wildcards ('*' and '**') in the paths in authz rules to more powerfully manage authorization; and the rules are processed faster.
  • LZ4 Compression
    •    -Big speed improvements / lower CPU use in some scenarios like committing large files.

Two client-side improvements:

  • New interactive conflict resolver
    •     -Command-line users get better interactive help to resolve tree conflicts after a merge.
  • Shelving (experimental)
  •     -New feature for the user to 'stash' changes locally

A:  What are you most excited about in the new release and why?

JF:Personally I'm most excited about the new Shelving feature. That's my "baby". First requested years ago, these days more and more Subversion users have experienced the convenience of "git stash" and will love that Subversion is getting its own equivalent.

Shelving is in its initial iteration here, and marked "experimental" for a couple of reasons. First, we want users to give us their feedback on the way it behaves (the user interface) so we can refine it to work the ways that are most useful. Secondly, it can't yet shelve all kinds of changes (notably "binary" files and directories/folders) which we will address in updates.

A: What was your role in the new release?

JF: I developed the Shelving feature, doing most of the work myself but openly and with feedback and assistance from the development community.

Also I volunteered to manage the release process, which is rather menial work following scripted instructions to update web pages and send out reminder emails and package up pre-release versions for testing and beg other volunteers to fix real bugs that were found along the way. Assembla enabled me to take this role because we all want to keep Subversion development moving along.

A: How will this new release benefit SVN users?

JF: The speed-ups and lots of small improvements should make most users' work a bit more comfortable. Some particular deployment scenarios will see a very great speed-up, particularly when committing large files. Users who mainly edit text files, like many software developers, should find the new Shelving immediately useful even in its initial experimental form. I already use it myself and find it a convenient way to manage some of my own changes.

A: Why do you think it’s important to continue to improve SVN?

JF: Subversion is relied upon by a huge range of businesses. They need someone to take care of updating Subversion to keep up with their growing expectations and changing development practices.