If the storage API inside the project is good enough (something YABT's isn't yet), swapping out where it gets the data is a minor issue. You could use Git for the main storage, then have a web frontend that reads from Couch/Mongo/Redis/NewHotnessNotYetDiscovered and lazy loads from disk. A post-receive hook or two for expiring data in that cache and you're set.