Over the years, Microsoft has expanded Windows' features to protect data in a variety of ways. One is through the...
Volume Shadow Copy service, which allocates a percentage of disk space to save point-in-time copies of changed files. The System Restore function uses Volume Shadow Copy to return a computer to a previous state. The end user can also use the Previous Versions function, which draws on both Volume Shadow Copy and Windows Backup to retrieve earlier versions of a file.
Previous Versions is a great feature, but it has one major drawback: It can retrieve only copies of files made during a system checkpoint or a backup operation. Those actions typically happen once a day, on a schedule determined by the system.
It is possible to manually trigger a system checkpoint, but it's not something you want to do casually. Even though it runs in the background, Previous Versions consumes a certain percentage of system resources, and the utility can even cause programs to stall while it's operating.
Because checkpoints (or "snapshots") happen only once a day or so, the various versions of a given file protected through system checkpoints will typically be separated by days or even weeks. This makes Previous Versions useful only for restoring a file from a copy made days or weeks ago, not hours or minutes.
Also, the number of revisions available for a given file will be limited by the disk space made available for Volume Shadow Copy, so there's no guarantee that you'll be able to go back to the beginning of a file's history -- or even very far at all, depending on how heavily trafficked that volume is.
I ran into the limitations of Previous Versions head-on while working on a document that I had foolishly overwritten several times during the course of a day with multiple saves. (Note to self: Do not attempt to make major, meaty revisions on anything when you're not fully awake.)
At some point, I realized that I needed to go back to an earlier version of the document I'd saved about an hour before, but it had since been overwritten several times. Since I didn't have Word's change tracking turned on -- I never use it for writing drafts, just editing existing ones -- there was no way to go back to the overwritten version.
Obviously, this problem isn't limited to Word documents. It can affect any file that isn't automatically tracked in separate versions with each save by the application itself. But is there a way to have the operating system fill in that gap? Could Windows be set to automatically create checkpoint revisions of, say, files in a given folder every time they were modified?
Some poking around with Volume Shadow Copy and Previous Versions ended in disappointment; it quickly became clear those functions weren't designed to support this sort of close change-tracking.
I turned to third-party software to see if there was a solution, and I found something very close to it in a rather oddly-named program. FileHamster is very close to what I'd had in mind: You set up a number of files or folders to be watched, and every single change made to those files is tracked separately in the program's own database.
You can revert to a particular version of a file, protect a given revision from expiring and even set some fairly fine-grained control over the behavior of file revisions -- for instance, set the minimum time delay between revisions or the maximum number of revisions that can be stored. Even a file deleted entirely from the disk can be recovered, along with all of its revisions.
FileHamster is almost entirely transparent, as it ought to be. It runs in the background and doesn't require any user intervention. The only time you know it's doing anything is when you save a tracked file, at which point a notification dialog box pops up briefly from the tray to let you know a new revision has been created.
In addition, FileHamster tracked almost every file type I used without problems, although the larger the file, the greater the effect on the system. I have my doubts about how well it would perform with, say, multi-gigabyte video files, since there's only so much I/O you can perform in the background before it becomes a persistent source of lag. That said, I saw no noticeable impact on system performance when working with a 10 MB Photoshop file, and with Word documents, the delay was utterly negligible.
I'd really like to see a feature of this type built more directly into Windows, but for the time being, having third-party software to pave over the gap will have to do.
ABOUT THE AUTHOR:
Serdar Yegulalp has been writing about personal computing and IT for more than 15 years for a variety of publications, including (among others) Windows Magazine, InformationWeek and the TechTarget family of sites.