I have slightly changed the default mode of 'svn cleanup' in r1802797. It will no longer remove unreferenced pristines from the pristine store.
Instead, the new --vacuum-pristines option must be used, added in r1802787. This runs the same operation under a working copy write lock. Note that the default mode of 'svn cleanup' breaks working copy locks. The idea is prevent accidental working copy corruption in the unlikely but possible case where a user runs 'svn cleanup' with the intention of removing unused pristines while another SVN client is concurrently writing to the working copy in the background. Users will now find that this no longer works, and will find the new option instead. This is also the first time we have a documented way of cleaning up pristines (neither 'svn help' nor the book ever explained how to do this). If there are objections to this change, please raise them in this thread. The changes are very small and easy to revert if necessary. Another idea which was discussed on IRC was that the default mode of 'svn cleanup' could be changed to not break locks, and require an option for that mode instead. However, I believe such a change would be more disruptive and incompatible with the existing behaviour.