I have been having problems with the system Versions feature. On one volume, nearly half the total space is consumed by the versions database. I think it’s supposed to automatically prune old versions if more space is needed, but it doesn’t, so I instead get errors from MoneyWell that it can’t save its database.

The versions database is managed by revisiond, but as far as I can tell there are no built-in tools for controlling it. The only way to manually reclaim space seems to be to delete the .DocumentRevisions-V100 folder, which will delete all the versions.

I would like to selectively disable the Versions feature for certain volumes, but there doesn’t seem to be a way to do that. As far as I can tell, there isn’t even an official switch to disable it entirely. This answer suggests checking “Ask to keep changes when closing documents,” but that doesn’t work. This answer says that you can set the ApplePersistence default in Terminal. At least that works on a per-app basis, because it can also make some apps like TextEdit not function properly.

But the bottom line is that I wouldn’t have a problem with Versions if it would automatically compact its database.

2 Comments

Ideally, Apple would both provide a method for disabling Versions on a per-volume basis directly from System Preferences (similar to Spotlight), and have a maintenance job periodically compact the databases behind the scenes as you mention.

It may be worth clarifying that each volume root has a .DocumentRevisions-V100 directory. I wonder whether removing write permissions from its children would effectively disable Versions on that volume, or cause more problems.

Considering that, when the disk has not enough empty space (e.g. a r/w disk image), Versions complains that there's not enough space to activate the feature, it might be interesting to check whether it does not set a magic cookie/file on such a volume to avoid displaying that same dialog over and over.