Kevin, you're the fellow who was talking about implementing a genuine
mountable filesystem that tracked versions, right? What I think would
be really useful along those lines would be to implement a filesystem
on top of the *client* library --- you'd get a working directory where
ordinary "rm", "mv", and "cp" would maintain the meta-information
Subversion needs to do commits and updates. You could just use Emacs
dired to mess around in your working copy, and it'd all Just Work.
Detecting copies is a bit of a challenge, but I think GNU cp is a
"memory mapped" cp: it maps the entire input file into memory, and
then does a single write request to create the new file. This means
that the write uses the exact same pages as the read. Perhaps the
filesystem could notice which file the pages were coming from,
recognize that a copy was in progress, and adjust the Subversion
metainformation appropriately.
Received on Sat Oct 21 14:36:21 2006