After more than six years since its last significant release, the Apache Software Foundation has announced the release of Subversion 1.15.0, a centralized version control system. This new release brings several key improvements.
One notable improvement is the addition of a mode without caching base revisions of all files on the local system, known as Pristines On Demand. This feature allows users to reduce the size of the working copy on disk by up to 50% by downloading files from the server as needed. However, this reduction in disk space consumption comes at the cost of increased network traffic and longer operations such as diff and revert. Disabling caching can be beneficial when working with large repositories with infrequently changing files, placing the working copy on the same host as the repository, or on systems with limited disk space and a fast network connection.
Another significant improvement is the implementation of a new format for storing working copies (Format 32), which is designed to work without local caching. Users can now simultaneously use different versions of working copy formats, preserving the format of previously created working copies without requiring an update with the “svn upgrade” command.
Subversion 1.15.0 also introduces support for streaming execution of the “svn checkout” and “svn update” operations, leading to improved performance and reliability. Instead of copying to an intermediate temporary directory and then parsing it, data is now immediately written to the service and working directories. This change eliminates the need for copying from an intermediate directory, as files are saved in place under a temporary name and then atomically renamed.
Additionally, a new build system based on the CMake toolkit has been implemented, simplifying assembly on the Windows platform and integrating with the vcpkg package manager for automatic downloading of dependencies. While all platforms except Windows will continue to use the old Autoconf-based build system by default.