Re: Versioning file system

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



>Part of the problem is that "whenever you modify a file"
>is ill-defined, or rather, if you were to take the literal meaning of it
>you'd end up with an unmanageable number of revisions.

Let me expand on that.  Do you want to save a revision every time the user 
types in an editor?  Every time he runs a "save" command?  Every time a 
program does a write() system call?  Every time a program closes a 
modified file?  If you're adding to a C program, is every draft you 
compile a revision, or just the final modification after the bugs are 
worked out?

When I was very new to coding, I used VMS and thought the automatic 
revisioning would be a great thing because it would save me when I 
modified a program and later regretted it.  The system made a revision 
every time I exited the editor.  But I soon found that the "previous 
revision" to which I wanted to revert was always many editings back, since 
I spent a lot of time trying to make the regrettable code work before 
giving up.  VMS kept a fixed number of revisions per file.  But keeping 20 
versions of other files would have been wasteful of disk space, directory 
listing space, etc.

Later, I discovered what I think are superior alternatives:  RCS-style 
version management on top of the filesystem, and automatic versioning 
based on time instead of count of "modifications."  For example, make a 
copy of every changed file every hour and keep it for a day and keep one 
of those for a week, and keep one of those for a month, etc.  This works 
even without snapshot technology and even without sub-file deltas.  But of 
course, it's better with those.

--
Bryan Henderson                     IBM Almaden Research Center
San Jose CA                         Filesystems

-
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux