Hi, On Tue, Aug 26, 2008 at 07:14:10PM +0200, Carl Fredrik Hammar wrote:
> It would be very nice if you could set up a translator that showed > every revision in a seperate directory. Making it almost trivial to > browse a projects history and compare different revisions. Perhaps > even allowing edits to sanitize history of a personal repo before a > major commit to a public repo. Indeed, this should be very convenient :-) > Another possibility would be a versioning filesystem, were changes to > files are recorded. This wouldn't be useful as a repo, since there > are no logs and effects are immediate. But it would be nice to be > able to undo recent changes. Well, VMS (perhaps other systems too) has a native versioned Filesystem; and there are also FUSE modules for Linux doing that. However, a versioning Filesystem is not terribly useful in practice, at least on UNIX: You already pointed out some problems -- but the biggest is that the UNIX file API provides too litte semantics: A program can keep a file open for hours; or it can open and close it a hundred times per second... How do you know the right time to commit? More useful in practice are snapshotting filesystems, which can take snapshots of the current state at any moment -- e.g. on important occasions, and/or at regular intervals. Of course, traditional Version Control Systems could be used as backend for that -- but they aren't optimized for such use. A native snapshotting Filesystem like btrfs is much simpler and more efficient here... Of course, a filesystem-based browser for the snaphots would be just as useful as in the other case :-) -antrik-