A (relatively) little known feature of NTFS is its ability to support multiple data streams in a single file (SysInternals has a little about it here, but I'm sure Google would oblige with the full lowdown...).

It recently occurred to me that these could be used to implement versioning, with the main stream holding the current version and alternate ones holding reverse deltas, thereby having the full history in a single file. My initial thought was that a source control system could use this approach, but there would actually be very little benefit in this case - the single file could only be held on the server, where storage is pretty opaque anyway, as if it were also deployed to the client then the editing tools would likely destroy the extra streams.

This latter point made me realise that it would be most useful in applications where editing is done with a single application. Immediate examples which sprang to mind were wikis (no surprise there, then ;) and maybe even as an "entry level" source code control system to be used with the new VS 2005 Express line of products (either by MS building it in, or possibly even as an add-in if anyone's feeling adventurous).

Comments, anyone?