Hacker News new | ask | show | jobs
by jcfields 2003 days ago
Mac OS has had a built-in file versioning system (separate from Time Machine) since Lion or so that works with any program that uses the standard document saving APIs. Most Mac users probably aren't aware that their computer stores potentially hundreds of previous versions of their documents (in evictable space, of course). The interface for it is kind of trash and isn't accessible in every app, though.

(Over the summer, I made a command-line [https://gitlab.com/jcfields/versions] and a GUI program [https://gitlab.com/jcfields/restore] for accessing this system outside of the standard UI, if anyone's interested, though the binaries are not notarized so the OS will show a scary warning the first time you use them.)

Granted, it's not exactly the same thing since you're not making commits at discrete and meaningful points like in a software version control system and since it works on an individual file level, which might not be ideal for every workflow, but it's still really useful when you realize you need to roll something back to an earlier state.

I think modern versions of Windows use the Volume Shadow Copy service to store backups of files at given snapshot points (such as when your computer runs a scheduled backup or creates a System Restore point), which can be pulled up in the file properties. I use to use NTBackup to do basically the same thing in a more crude way back in the Windows XP days. This isn't as nice as the Mac Versions feature since it requires setting up periodic backups, but it's something.

I'd be curious if any of the free desktops have come up with a simple and user-friendly solution to this. I feel like this is an area where there's a lot of room for improvement, since the majority of users would probably benefit from these systems but most aren't even aware they exist.