One could also develop a separate kernel API for version control. Filesystems without version control would just have null operations in this API, while filesystems with version control would root around in their database for the change information.
It makes a lot of sense. Thanks!
I was talking to a friend about it and even he suggested the same. I'm going to start using a version control myself and see where it leads me.
There is an open source filesystem-based version control system: vesta (http://www.vestasys.org/). That's probably the sort of thing you need for this kind of work. It was developed by DEC and then Intel for chip development, and those guys check in binary blobs.
Vesta is a cool piece of technology in many ways. It has a pure functional build language, completely parallelisable builds with accurate caching between builds, etc. The guy who maintains it at Intel is a bit bitter because he can't understand why less capable version control or build systems are more popular. Which is really because vesta's advantages show up best in quite large projects, but once your project is that large, it's very hard to switch.
The web page looks moribund, but in fact it's still actively developed, and the developers hang out on IRC.
reply