Pristines On Demand in Apache Subversion 1.15 reduces local storage by downloading baseline file versions on demand instead of keeping them on the client. Apache says enabling it can reduce working-copy storage by up to 50%. This is not a guaranteed reduction.
In its October 14, 2026 announcement, the Apache Software Foundation said version 1.15 was available to download. The storage savings apply to working copies on developers' machines, not server repositories.
The BASE cache behind local comparisons
Traditional working copies store each file's BASE revision alongside the files being edited. BASE is the reference version used to compare or revert local changes, and this file copy is called a pristine.
According to the release notes, the .svn directory in the default configuration takes up slightly more space than the checked-out files. Most of this is the BASE cache. Reducing or removing it saves space, but operations that were entirely local may then need repository access.
Apache's comparison table shows that diffs against BASE and reverts change from operations requiring no repository access to operations that download the required baseline copies. The release notes call this download hydration.
This does not mean downloading every file each time. If a locally modified file lacks the required pristine, it is downloaded. Downloaded copies remain cached for as long as they are needed.
However, the initial implementation may also download other eligible files within the subtree containing the operation's targets. Apache notes that file sizes and network speed can cause noticeable delays.
Commits change too. Instead of sending only the changes, the client sends the full contents of each locally modified file.
Compatibility depends on checkout options
The --store-pristine=no option for svn checkout applies to the entire working copy. This option uses Format 32, so every client accessing that working copy must run version 1.15 or later.
Default checkouts retain Format 31, which caches all BASE copies and supports clients running 1.8 or later. Format 32 can also keep a full cache, so the format number alone does not identify on-demand mode.
Apache's feature table lists no restrictions on the required server or repository versions. The feature does not depend on a server upgrade, and older clients can continue using separate Format 31 working copies.
This makes a checkout policy change most relevant where many files are large and rarely modified, local storage is limited, and repository connections are fast and reliable. Frequent edits may make baseline downloads and full-file uploads more costly than the storage savings justify.
Offline diff and revert also depend on whether the required baseline copies are available locally. Selective use in working copies with suitable edit patterns and connectivity looks more reasonable than changing the default for the whole team.
The reviewed materials provide no measurement methodology or benchmarks comparing disk usage or network traffic. No hands-on tests were conducted for this article either.
A large server repository alone does not establish the potential local savings. The space saved with the actual file mix and the time spent waiting for downloads and uploads remain separate questions to assess.
Checking the configuration in a separate working copy
Checking out to a separate path with a client running 1.15 or later allows the configuration to be checked without replacing the existing working copy. These commands use the option and inspection command documented in the release notes.
svn checkout --store-pristine=no <repository-url> <working-copy-path>
cd <working-copy-path>
svn infoApache's svn info example shows Working Copy Format set to 32 and Working Copy Store Pristine set to no. This only confirms that on-demand baseline downloads are configured. It does not demonstrate 50% storage savings or improved performance.
Rather than offering the same benefit to every team, version 1.15 expands the choice between local caching and repository communication. Adoption decisions call for weighing recovered space against baseline downloads, commit traffic, and client versions in the team's tools.
The adoption criterion for Pristines On Demand is not its maximum savings figure, but whether a smaller BASE cache offsets the added network burden and client compatibility costs.
