mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Jack Stone <jack@hawkeye.stone.uk.eu.org>
To: Bryan Henderson <hbryan@us.ibm.com>
Cc: alan <alan@clueserver.org>,
	hpa@zytor.com, linux-kernel@vger.kernel.org,
	linux-fsdevel@vger.kernel.org, akpm@linux-foundation.org,
	viro@zeniv.linux.org.uk
Subject: Re: Versioning file system
Date: Mon, 18 Jun 2007 17:37:13 +0100	[thread overview]
Message-ID: <4676B4B9.9030002@hawkeye.stone.uk.eu.org> (raw)
In-Reply-To: <OFC119F96F.A721E445-ON882572FE.0055140A-882572FE.00571482@us.ibm.com>

Bryan Henderson wrote:
>> 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.

>From what I can see this seems to be the consesus (and it sound very
sensible to me).

The question remains is where to implement versioning: directly in
individual filesystems or in the vfs code so all filesystems can use it?

Jack

       reply	other threads:[~2007-06-18 16:37 UTC|newest]

Thread overview: 107+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <OFC119F96F.A721E445-ON882572FE.0055140A-882572FE.00571482@us.ibm.com>
2007-06-18 16:37 ` Jack Stone [this message]
2007-06-18 16:56   ` H. Peter Anvin
2007-06-18 17:56   ` Bryan Henderson
2007-06-19  3:10     ` Kyle Moffett
2007-06-19  7:49       ` Jack Stone
2007-06-19  7:58       ` Bron Gondwana
2007-06-20  2:43         ` Kyle Moffett
2007-06-19  9:09       ` Martin Langhoff
2007-06-19 16:52       ` Jakub Narebski
     [not found] <8wst3-3kh-31@gated-at.bofh.it>
     [not found] ` <8wsCC-3wf-21@gated-at.bofh.it>
     [not found]   ` <8wsW4-3UY-3@gated-at.bofh.it>
     [not found]     ` <8wJal-3KA-1@gated-at.bofh.it>
     [not found]       ` <8xm22-4Ql-1@gated-at.bofh.it>
     [not found]         ` <8xq5G-32l-7@gated-at.bofh.it>
     [not found]           ` <8xs7w-69W-21@gated-at.bofh.it>
2007-06-18 20:54             ` Bodo Eggert
2007-06-18 21:08               ` alan
2007-06-18 21:31                 ` H. Peter Anvin
2007-06-18 21:34                   ` Jeremy Allison
2007-06-18 22:10                   ` Theodore Tso
2007-06-18 22:26                     ` Jörn Engel
2007-06-18 21:24                       ` Brad Boyer
2007-06-19  3:15                         ` Kyle Moffett
2007-06-18 22:34                       ` Jeremy Allison
2007-06-18 22:56                       ` alan
2007-06-19  7:01                       ` Theodore Tso
2007-06-18 22:48                     ` Jeremy Allison
2007-06-18 23:00                       ` alan
2007-06-19  7:05                       ` Theodore Tso
2007-06-19 16:52                         ` Jeremy Allison
2007-06-19 16:56                           ` H. Peter Anvin
2007-06-18 22:47                   ` alan
2007-06-15 22:23 Jack Stone
2007-06-15 22:38 ` H. Peter Anvin
2007-06-15 22:51   ` alan
2007-06-15 22:59     ` H. Peter Anvin
2007-06-15 23:06       ` alan
2007-06-16  8:11     ` Jack Stone
2007-06-16  9:46       ` Jeffrey V. Merkey
2007-06-16 10:12         ` Jeffrey V. Merkey
2007-06-16 13:15           ` Mark Williamson
2007-06-16 19:57             ` Jeffrey V. Merkey
2007-06-16 16:49           ` Jan Harkes
2007-06-16 20:03             ` Jeffrey V. Merkey
2007-06-16 19:38               ` Jack Stone
2007-06-16 20:08               ` Alan Cox
2007-06-16 21:25                 ` Jeffrey V. Merkey
2007-06-16 20:39               ` Jan Harkes
2007-06-16 20:43                 ` Jack Stone
2007-06-16 22:17                 ` Alan Cox
2007-06-17  2:18                   ` Jeffrey V. Merkey
2007-06-17  2:39                     ` Jeffrey V. Merkey
2007-06-17 22:11                   ` Dale Amon
2007-06-16 21:06               ` Dale Amon
2007-06-16 11:42         ` Graham Murray
2007-06-16 14:53     ` Jörn Engel
2007-06-18  9:45       ` Andreas Dilger
2007-06-18  9:54         ` Jack Stone
2007-06-18 10:13         ` Jörn Engel
2007-06-18 14:01         ` Theodore Tso
2007-06-18 16:16           ` alan
2007-06-18 17:29             ` Theodore Tso
2007-06-18 17:33               ` Jeremy Allison
2007-06-18 20:30                 ` Theodore Tso
2007-06-18 20:50                   ` J. Bruce Fields
2007-06-18 17:46               ` H. Peter Anvin
2007-07-04 17:32               ` Erik Mouw
2007-07-04 20:47                 ` Theodore Tso
2007-07-05 17:55                   ` Erik Mouw
2007-07-05 13:57                 ` John Stoffel
2007-07-05 14:23                   ` Chris Mason
2007-07-05 17:57                   ` Erik Mouw
2007-06-18 15:32         ` Chris Mason
2007-06-18 23:18           ` Bron Gondwana
2007-09-29 17:44         ` Sorin Faibish
2007-06-15 22:52 ` Chris Snook
2007-06-16  8:25   ` Jack Stone
2007-06-19 18:03     ` Chris Snook
2007-06-19 19:06       ` Jack Stone
2007-06-19 20:03         ` Chris Snook
2007-06-19 20:08           ` Jack Stone
2007-06-19 20:15             ` Chris Snook
2007-06-19 20:27               ` Jack Stone
2007-06-19 20:34             ` John Stoffel
2007-06-19 20:38               ` Jack Stone
2007-06-19 20:38               ` Matthew Wilcox
2007-06-19 21:02                 ` John Stoffel
2007-06-19 19:08       ` H. Peter Anvin
2007-06-19 19:12         ` Jack Stone
2007-06-19 19:15           ` H. Peter Anvin
2007-06-19 19:22             ` Jack Stone
2007-06-19 20:10           ` Chris Snook
2007-06-19 20:14             ` Jack Stone
2007-06-19 20:31               ` Chris Snook
2007-06-20  8:34           ` Bernd Petrovitsch
2007-06-19 21:50         ` Alan Cox
2007-06-19 22:07           ` H. Peter Anvin
2007-06-20  8:05             ` Ph. Marek
2007-06-19 20:43       ` Lennart Sorensen
2007-06-19 22:07         ` david
2007-06-19 22:13           ` H. Peter Anvin
2007-06-19 23:07             ` Jan Harkes
2007-06-19 23:12               ` H. Peter Anvin
2007-06-19 22:21           ` Lennart Sorensen
2007-06-19 23:35         ` Bryan Henderson
2007-06-20  0:27           ` Trond Myklebust
2007-06-20  5:00             ` H. Peter Anvin
2007-06-20 17:04             ` Bryan Henderson
2007-06-20 17:10               ` H. Peter Anvin
2007-06-20 17:33               ` Chris Snook
2007-06-15 22:57 ` Kok, Auke
2007-06-15 23:01   ` alan
2007-06-16 11:20     ` Johannes Weiner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4676B4B9.9030002@hawkeye.stone.uk.eu.org \
    --to=jack@hawkeye.stone.uk.eu.org \
    --cc=akpm@linux-foundation.org \
    --cc=alan@clueserver.org \
    --cc=hbryan@us.ibm.com \
    --cc=hpa@zytor.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=viro@zeniv.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®