nilfs2 filesystem makes temporary snapshots several times a second, for free, due to the way it works (it keeps a detailed log of changes, and reading files actually reads that log, rather than somewhere else; the log can simply be truncated to revert to an older state). Unfortunately, it is for Linux only.
You may want to run
nilfs2 on a Linux VirtualBox instance and run Samba to access the files within. This way, all your changes are instantly logged.
nilfs2 is really magical. It uses all of its free space for continuous snapshots, and only stores differences, so you get few-per-second snapshots up to days. Old snapshots will be forgotten as you add new files to clean up space. You can also tell it to never forget some snapshot, and you instantly get a permanent backup (against human error, not hardware failure), without a lengthy copy!