>I think our problem is that we look at FV from different angles. I look 
>at it from the point of view of people who have NEVER used FV, and you 
>look at it from the view of people who have ALWAYS used FV.

That's certainly a part of it. It's interesting reading this discussion, as 
someone who used VMS heavily through about the mid-1980s & then became a UNIX 
sysadmin. File versioning was one of the items I really missed. There are a lot 
of interesting use cases (walk away from terminal, come back, quit emacs, get 
prompted whether to save file -- go ahead, save it, use 'diff' to determine 
what changed, and then delete the newly written file version if the changes are 
unwanted).

Directory pollution really turned out not to be an issue in practice, perhaps 
because the default version limit was relatively small (3 in VMS). It could be 
set per-file or (IIRC) per-directory. If someone didn't want versioning at all, 
they could just set their directory to use one version, and old versions simply 
didn't exist. Alternatively, to see just the most recent versions, ';' would 
refer to the most recent version, so 'dir ;' showed only the filenames and no 
old versions (going from memory here).

Having a delimiter character really did help. On UNIX, we have '/', though 
POSIX prohibits, or at least highly discourages, its use.  Mac OS X uses '/' to 
access named forks (aka named streams, aka extended attributes in the Solaris 
sense). If I do 'ls xyz' I see just xyz.  If I do 'ls xyz/rsrc' and xyz has a 
'resource fork' then I see that. No real reason why I couldn't do 'ls 
xyz/versions', or, preferably, 'ls -V' :-) and see versions. 'diff xyz xyz/-1' 
would diff xyz with its immediately preceding version; 'diff xyz xyz/2' with 
version 2.

(This would be interesting to prototype and do some usability testing.)

I agree that we want a clean interface, that versions should be optional, and 
that they should be exposed via the network. (My home directory is NFS-mounted.)

While disk space is not irrelevant, quotas really help in the multi-user 
scenario. If someone is close to their limits, they can use 'purge' (VMS 
syntax) to remove old versions of their files, or delete specific versions.

I don't agree that version control systems solve the same problem as file 
versioning. I don't want to check *every change* that I make into version 
control -- it makes the history unwieldy. At the same time, if I make a change 
that turns out to work really poorly, I'd like to revert to the previous code 
-- not necessary the code which is checked in. (I suspect there may be some 
versioning systems which allow intermediate versions to be deleted, and I just 
haven't used them, but this still seems complex compared to only checking in 
known-good code.)
 
 
This message posted from opensolaris.org
_______________________________________________
zfs-discuss mailing list
zfs-discuss@opensolaris.org
http://mail.opensolaris.org/mailman/listinfo/zfs-discuss

Reply via email to