Tuesday, February 27, 2018

The macOS Versions Management System

Howard Oakley:

The first version of Revisionist listed all versions, including those for which there was no version file. This has changed: Revisionist now tells you how many versions the versions database knows about, but only lists those for which there are still files.

When you select a version in the new table view, Revisionist displays additional information about that version, including the full path to the file within the versions database, whether its contents are stored locally, whether that version can be purged or discarded by macOS, its localised file name (as will be shown when you browse versions in an app), and (when available) the name of the Mac which wrote that version. The latter can be very helpful when accessing shared storage, including cloud storage.

Howard Oakley:

Technically, within macOS, the versioning system is actually part of the Managed File Access features of the File System, and is related to the File Manager, which provides high-level access to files, and is part of the Document Architecture. It is not a background service which can be turned off or on in the way that you can with Time Machine.

If something goes wrong with the versioning system, you may find yourself unable to save documents, but Time Machine will continue to make backups as normal. If you turn Time Machine off, the versioning system continues to function exactly as it did before.


When documents are emptied from the Trash, or even deleted from Terminal’s command line using the rm command, all their previous versions are also removed from the database. That is a feature of the File System.

Howard Oakley:

The most important limitation to bear in mind is that the versioning database cannot undo deletion/removal, and there is no way to re-insert removed versions. So when you delete versions, they really are gone for good. To ensure that you are mindful of that, Revisionist displays an alert immediately after you click on the Delete button, and requires you to confirm the deletion before it goes ahead.

Howard Oakley:

Despite being almost seven years old, the version management system built into macOS is almost undocumented. Its only substantive documentation is that provided to developers to enable their apps to use it, which doesn’t describe how it works. There is nothing to explain properly to users or system administrators topics such as how and when macOS decides to purge old versions, or how the user can force it to purge them, other than using its increasingly opaque Version Browser.

Update (2018-02-28): Howard Oakley:

The biggest problem with using the Versions Browser to remove old versions is that they have to be removed one at a time, which quickly becomes tedious. You also aren’t informed as so how large each version is; as saving space on storage is a major reason for removing old versions, this is a significant shortcoming.

Comments RSS · Twitter

Leave a Comment