On Tue, Jul 25, 2017 at 11:09:21AM +0000, Daniel Shahaf wrote: > Stefan Sperling wrote on Mon, 24 Jul 2017 18:34 +0200: > > Daniel, I'm thinking that reverting r1802797, which changed the default > > behaviour of 'svn cleanup', may be good enough to address your backwards > > compat concerns, while still giving people a choice to remove pristines > > without risking a disturbance of other active clients. > > I'm not sure I understand. Are you saying that the default won't change, but > there will be a new API that allows vacuuming pristines without breaking > locks? +1 to that.
Yes. By default 'svn cleanup' holds a lock while cleaning up pristines, so I see no reason to change its default behaviour. Only one client will be vacuuming pristines at a given time. A disturbed client will error out next time it attempts to access wc.db after its lock was stolen. The default remains "break locks, vacuum pristines, clean dav cache, etc.". But the new option for just "vacuum pristines" is valuable in itself, since you may not want to forcefully break locks for this. And there is no new (libsvn_client) API. The existing API already provides the feature. It was just not exposed at the CLI level so far.