General background information

Auto Save and Versions are features introduced with macOS v10.7 Lion.

Because almost all document-based applications support Auto Save nowadays, the majority of macOS users are familiar with this feature: it is not required to save changes made to a document explicitly - it just happens automatically when it’s necessary or appropriate.

Old file version snapshots

However, Auto Save has a counterpart: Versions. In simple terms: Every time Auto Save saves a document (or the user saves a document manually for whatever reason) a snapshot of the previous document’s content on disk will be taken and stored somewhere else on disk, along snapshot s  previously taken for that document. This is a very good idea because, for instance, it might happen that a user closes a document that contains changes, what in turn causes Auto Save to write the changed data to disk - but the user’s intention maybe was to discard the changes. Thanks to Versions nothing is lost in such situations: With Versions it is possible to go back to a previous version of the document and replace the document’s  current  version by any previous one.

But there is also a downside:  For documents that are edited quite frequently it is not unusual that hundreds (or in certain but rare cases even thousands) of old file version snapshots are stored on disk for such documents. This can occupy a significant amount of disk space and may - if an app triggers saving of document changes very often - even have the potential of worsening the app’s responsiveness. Of course, the system doesn’t keep old file version snapshots forever - from time to time it automatically deletes old file version snapshots in the background. But this is done rather defensively (although it seems that since macOS 10.12.? old file version snapshots are deleted at least a bit more aggressively).

What the HSD Versions Cleaner can do for you

With the HSD Versions Cleaner you can …

With the HSD Versions Cleaner you import so called  root directories  - these are directories containing the files to observe. Having imported such a root directory you can inspect how many old file version snapshots are stored for the files imported with the root directory and how much disc space these old file version snapshots occupy.  The appropriate views are live:  Every time a new old file version snapshot has been saved for an imported file, the HSD Versions Cleaner updates the appropriate views automatically. The same is true if old file version snapshots have been deleted - either by the HSD Versions Cleaner itself or by the system or even by any other app.

Important note:  The HSD Versions Cleaner never deletes current versions of a file. Furthermore, when removing an imported root directory from the HSD Versions Cleaner only a kind of symbolic link to this directory will be removed, not the directory itself, of course.

Directories and Files (not) worth to observe

Theoretically it would be possible to import a complete user’s directory or even the content of a complete volume, but it is not recommended to do so. For instance, it makes no sense to observe directories that are very unlikely to contain any file that is processed by a document-based application. Scanning such directories would be a waste of time.

On the other hand there are classes of files that are definitively worth to be observed. Here are some examples:

Files created and frequently edited with creative apps, iWork (or other office) apps, and so on

Files containing pictures, drawings, spreadsheets, texts, etc, that furthermore are processed frequently, are typical candidates for which lots of old file version snapshots may be stored.

Files typically edited by software developers - they are also an example for keeping previous file versions redundantly

When working with Xcode it’s amazing to see how many snapshots of source files can be created within just a few days of heavy coding. Furthermore, many developers use a kind of version control system anyway. So keeping previous versions of a source file with a version control system  and  with Versions makes not much sense - just keeping the most recent old file version snapshots of source files with Versions should be enough when using a version control system.

Copyright © 2017-2021 HABELITZ Software Developments

Mac and macOS are trademarks of Apple Inc., registered in the U.S. and other countries.