惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
News and Events Feed by Topic
Malwarebytes
Malwarebytes
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
C
Cybersecurity and Infrastructure Security Agency CISA
F
Future of Privacy Forum
C
Cisco Blogs
T
The Exploit Database - CXSecurity.com
A
Arctic Wolf
S
Securelist
K
Kaspersky official blog
S
Schneier on Security
T
ThreatConnect
T
Tenable Blog
Spread Privacy
Spread Privacy
T
True Tiger Recordings
AWS News Blog
AWS News Blog
F
Fox-IT International blog
量子位
T
Threatpost
V
Vulnerabilities – Threatpost
C
CERT Recently Published Vulnerability Notes
Cisco Talos Blog
Cisco Talos Blog
GbyAI
GbyAI
宝玉的分享
宝玉的分享
腾讯CDC
G
Google Developers Blog
aimingoo的专栏
aimingoo的专栏
Cyberwarzone
Cyberwarzone
有赞技术团队
有赞技术团队
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
V
Visual Studio Blog
U
Unit 42
雷峰网
雷峰网
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Simon Willison's Weblog
Simon Willison's Weblog
O
OpenAI News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
小众软件
小众软件
A
About on SuperTechFans
Last Week in AI
Last Week in AI
Y
Y Combinator Blog
博客园 - 三生石上(FineUI控件)
美团技术团队
Google Online Security Blog
Google Online Security Blog
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog

The Eclectic Light Company

Solutions to Saturday Mac riddles 361 Rubens’ Consequences of War Last Week on My Mac: Intel Macs will be stuck with bugs Rubens’ Peace and War Saturday Mac riddles 361 Fun with UTIs, QuickLook and Spotlight Reading Visual Art: 251 Snakes and staff, caduceus How to search Time Machine backups? Naturalists: Contents and artists Unmount a volume or eject a disk On Reflection: Extending the image Tackle QuickLook problems Apple has released an update to XProtect for all macOS Medium and message: Pottery Settings, preferences and defaults Hero or hooligan: Theseus and the sandals Solutions to Saturday Mac riddles 360 How QuickLook provides thumbnails and previews Paintings of visits to India 1878-1944 Last Week on My Mac: Syncing metadata in iCloud Drive Paintings of visits to India 1778-1877 Saturday Mac riddles 360 Explainer: QuickLook Naturalists: Sorolla and Zorn Chinese whispers in PDF metadata On Reflection: Pierre Bonnard 1909-1946 SpotTest 1.2 can display Spotlight metadata directly On Reflection: Pierre Bonnard 1899-1908 How to preserve versions, and how to create versioned PDFs Apple has released an update to XProtect for all macOS Medium and message: Sculpture What gets synced in iCloud Drive? What has changed in macOS Tahoe 26.5? Apple has released macOS Tahoe 26.5, and security updates 15.7.7 and 14.8.7 Hero or hooligan: Perseus 2 Solutions to Saturday Mac riddles 359 Does iCloud Drive now lose almost all metadata? Paintings of Beatrice Portinari: after 1862 Last Week on My Mac: snapshots, the elephant in APFS Paintings of Beatrice Portinari: to 1862 Saturday Mac riddles 359 Explainer: File Provider and cloud services Naturalists: Into the 20th century How to check whether Spotlight is getting the right metadata On Reflection: Mirror play How to make and roll back to a snapshot Medium and message: miniature How macOS can ignore and hide metadata Apple has released an update to XProtect for all macOS Hero or hooligan: Perseus 1 How to store and manage metadata in macOS The bicentenary of Frederic Edwin Church: 1857-77 Solutions to Saturday Mac riddles 358 macOS virtual machines and audio-video syncing A walk in the parks of Rome, Vienna, Manhattan and Brooklyn Last Week on My Mac: Where’s the fire escape? A walk in the parks of London and Paris Saturday Mac riddles 358 How fast is a macOS VM, and how small could it be? Naturalists: Photography Use Finder tags for categories On Reflection: The Venus Effect Control what gets written to the log Medium and message: Tapestry Virtualisation on Apple silicon Macs is different Apple has released an update to XProtect for all macOS Jerusalem Delivered: Overview and contents Finder comments, steganography and malware The bicentenary of Frederic Edwin Church: 1849-57 Solutions to Saturday Mac riddles 357 The Minimise Easter Egg lives on Painting Pandora and her box: 1883-1919 Last Week on My Mac: Didn’t macOS have a GUI? Painting Pandora and her box: 1550-1882 Saturday Mac riddles 357 Explainer: Network file systems Reading Visual Art: 250 Winged sandals The secret life of the xattr Naturalists: Education Networking changes coming in macOS 27 On Reflection: Hodler and Klimt The macOS Natural Language framework and Nalaprop Medium and Message: Stained glass The MACL extended attribute Jerusalem Delivered: 13 Leading characters Solutions to Saturday Mac riddles 356 Privacy: How locations are protected Painting Spring blossom 2 Last Week on My Mac: Don’t be a victim of fraud Painting Spring blossom 1 Saturday Mac riddles 356 Explainer: Recovery Reading Visual Art: 249 Mask Five months later and the Clock app still has an obvious bug Naturalists: Urban poverty DFU mode On Reflection: Cézanne Privacy: Which folders are protected in Tahoe? Medium and Message: Mosaic Dual-boot an Apple silicon Mac in Sequoia or Tahoe
How to search document versions
hoakley · 2026-05-25 · via The Eclectic Light Company

Document versioning built into macOS is an unfinished masterpiece that promises much but never seems to have been developed as fully as it deserved. This article looks at how macOS can’t search saved versions, and how you can work around that.

In essence versioning is simple: apps that support it, and a great many do now, save a series of versions to the volume’s hidden and sealed database in the .DocummentRevisions-V100 folder at its top level. To access those versions you’d normally use the Time-Machine-like browser provided by the Browse All Versions command in the Revert To item in the app’s File menu. Whenever the app saves a document, the open document becomes the current version, and its saved state becomes the previous version. This works for manual saves, and for any automatic timed saves the app might make.

Unlike all other versioning systems, this is all handled automatically by macOS, and neither you the user nor the app developer has to make any effort to create or manage those versions. It really does come for free.

Unfortunately, all those saved versions in the version database fall outside the scope of Spotlight indexing, and Spotlight search can’t look inside any of the old versions saved in a volume’s version database. Surprisingly, the version browser doesn’t offer any search facilities either, as that’s presumably another feature intended for a future that never came.

This is a serious omission, as I access old versions not infrequently, and being able to search for them saves me laborious browsing. It might be a few hours or days after I removed a section from a document, that I realise I need it back. By that time it may well have vanished from Time Machine’s hourly backups, or the section may have been too transient to be retained there. But the chances are that the missing content will be safe inside a saved version, if only I can find it.

Pulling tricks with the hidden .DocumentRevisions-V100 folder isn’t a good approach to solve this. It’s clear from its contents that previous versions aren’t saved as discrete files, but it uses a chunking system to store what has changed between versions, for economy in space. Access supported by macOS is strictly limited to looking up saved versions for any given file in that volume, and there’s no way to search their contents like that.

One way around this is to save each document version as a separate file, allow Spotlight to extract their contents and add those to its indexes for that volume, then to search those files. This is quick and simple using my free utility Versatility. To demonstrate this, I picked two documents with a substantial number of versions:

  • a Swift source code file edited in Xcode with 112 versions, with just one of them containing a function named loadAppexIndexer;
  • a large Pages document with a mere 49 versions, where I was looking for the first containing the placename Hulverstone.

In both cases I started by dropping the current document onto Veratility’s window, and saving individual archived versions to a new folder alongside that original document. I then opened that archive folder in a Finder window, and converted that to a Find window with that command in the Finder’s File menu. I entered my term, loadAppexIndexer or Hulverstone, into the search box, and changed the search scope from This Mac to the open archive folder.

In the Swift code, Spotlight immediately found the term in the file numbered 033 by Versatility, and all versions from the file numbered 023 in the case of the Pages document.

With that Finder window still open I was then able to locate those versions in the original documents:

  • Using my free Revisionist, the version numbers start from 1, whereas Versatility starts them at 000. So I added 1 to the number in the filename, and previewed that version in Revisionist. In both cases that’s sufficient to copy content that had gone missing from the current version of the document, for example.
  • Using the version browser in XCode or Pages, I looked back for that version’s datestamp, given in the Finder window as its Date Created, and brought that old version up in the browser.

Once happy I had done what I wanted with that old version, I then trashed the archive folder created by Versatility.

To summarise the sequence:

  1. drop the versioned document on Versatility’s window;
  2. save the archive folder alongside the original document;
  3. open a Finder Find window on that archive folder;
  4. using the search box and find bars, locate the version(s) in the archive folder;
  5. to open the versioned document in Revisionist, add 1 to its file version number;
  6. to open in an app version browser, select the date of that version as shown in the Finder window;
  7. on completion delete the archive folder.

Happy finding!