Update on Cornerstone and Subversion 1.8

Filed under: Cornerstone — Administrator @ 4:02 am

In September we posted about our plans for adding Subversion 1.8 support to Cornerstone. We wanted to provide you with an update on what has happened since then.

As described in our original post, a bug in the Serf HTTP library used by Subversion 1.8 broke apps such as Cornerstone that include usernames in URLs specified to Subversion. Serf’s developers quickly implemented a fix back in September 2013. This fix was released as part of Serf 1.3.2 on October 14th.

A Serf developer notified the Subversion project with a post to svn issue #4423 back in September. He also confirmed that the behavior was identical to the older Neon HTTP library with another post on December 31st but as of today this fix has not yet been integrated into an official Subversion release.

At the end of February we noticed that a dependency file in the Subversion source code repository was updated in r1566504 to reference Serf 1.3.4. This gave us hope that Subversion project might be moving forward with rolling out a fix for this issue, but as of today this change has not been integrated into Subversion’s 1.8.x branch, which continues to reference Serf 1.2.1.

We have again requested clarification from the Subversion developers, but believe that there is now a distinct possibility that Serf 1.3.2+ will not be integrated before the release of Subversion 1.9.

So what are we to do?

We understand that Cornerstone’s users are waiting for support for Subversion 1.8 and we’re disappointed too that this regression in Subversion 1.8 was not addressed earlier. We had hoped that this issue would be addressed by the Subversion project, but we can’t wait indefinitely, so we’re preparing an update to Cornerstone 2.7 for release in the next 2-4 weeks.

This version of Cornerstone will include Serf 1.3.4 and will therefore work as expected with both your existing and new 1.8 working copies. However, other Subversion clients such as the svn command-line tool will not be able to use these working copies to connect to repositories via HTTPS unless they too are updated to use Serf 1.3.2+.

For this reason 1.8 will not be the default format for working copies checked out by Cornerstone, and the user will be warned about potential compatibility issues when attempting to check out a 1.8 working copy for the first time.

Xcode users should continue to use 1.7-format working copies for compatibility with the version of svn included with Apple’s Command-Line Tools for Xcode.

Many thanks for your patience.