All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hans Reiser <reiser@namesys.com>
To: Yoanis Gil Delgado <fred@lab.matcom.uh.cu>
Cc: reiserfs-List@namesys.com
Subject: Re: Authoring a versioning plugin
Date: Wed, 11 Jan 2006 20:09:56 -0800	[thread overview]
Message-ID: <43C5D694.9050402@namesys.com> (raw)
In-Reply-To: <200601111759.14638.fred@lab.matcom.uh.cu>

Yoanis Gil Delgado wrote:

>This are the intentions:
>To write a versioning plugin that will allows the file system user to easily 
>revert the files under versioning to a some previous state.  The plugin will 
>allow to revert the file state, based on revisions number and date 
>modifications(and not sure about this one). There will be a special pseudo 
>file named "previous" that will return the previous version of the file. The 
>final result should allow to the the following actions:
>
>$ echo 1 > myfile.txt  (let's say we make this command at Wed Jan 11 16:53:55)
>$ echo 2 > myfile.txt  (let's say we make this command at Wed Jan 11 16:54:57)
>$ echo 3 >> myfile.txt (let's say we make this command at Wed Jan 11 16:55:59)
>
>Suppose you want the latest version, then you type:
>$ cat myfile/.../previous
>  
>
"...." not "..." ;-)

> Some other content
>Or you want the n-th version, then you type:
>$ cat myfile/.../1
> Some content 
>$ cat myfile/.../2
> Some other content
>$ cat myfile/.../3
> Some other content
> Some more content
>$
>Or the version nearest to some date, then you type:
>$ cat myfile.txt/.../Wed\ Jan\ 11\ 16:50
> Some other content
>
>Also , there will be an special attribute named under_versioning(or something 
>like that), that will tell if the file is under versioning. This plugin will 
>not track directories version, although it's a future plan(I think this 
>should be mixed with some undelete plugin).  
>  
>
How about using myfile/..../1 ;-)

>I'm planning to use a delta techniques for versioning storage (delta 
>compression).
>
Ok, good.

> The versioning will be at the write level.
>
Please make two plugins, one of which is the default, and for which
versioning occurs only when you touch myfile/..../checkin, and the other
occurs with each change.  I am skeptical that having it occur with every
write is desirable actually.

> The versions will be 
>saved in a special directory under the filesystem. I think the hard part is 
>the one related to detecting the changes (a COW it's a possible solution, but 
>i think it's to expensive). I'm thinking a possible solution will be 
>detecting the bytes changing in each write and archiving then as the 
>difference.  This introduce some problems like :
>1-) What happens if the file shrinks?
>2-) What happens if the file grows ?
>  
>
Please consider that myfile/..../checkin will be less work to code.

>I will send another email with a solution to this problems.
>
>I've also plans to extent the documentantion of plugins creation in reiser4 
>with the experiences of this project. I'll be working in this plugin for more 
>than 4 months. If you're interested you're welcome to the the team(just me 
>right now :D )
>
>
>Well....... I think this is all (for now  :D ). Please let me know what you 
>think.
>  
>
This all seems great!

>
>
>
>
>
>  
>


  reply	other threads:[~2006-01-12  4:09 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-11 22:59 Authoring a versioning plugin Yoanis Gil Delgado
2006-01-12  4:09 ` Hans Reiser [this message]
2006-01-12  6:44   ` Hans Reiser
2006-01-12 16:33     ` Jonathan Briggs
2006-01-12 18:33       ` Bedros Hanounik
     [not found]         ` <200601121502.32227.fred@lab.matcom.uh.cu>
2006-01-12 20:08           ` Yoanis Gil Delgado
2006-01-12 21:48         ` David Masover
2006-01-12 22:43           ` Bedros Hanounik
     [not found]             ` <200601121856.00665.fred@lab.matcom.uh.cu>
2006-01-12 23:56               ` Yoanis Gil Delgado
2006-01-13 20:59                 ` Hans Reiser
2006-01-13 16:43             ` David Masover
     [not found]     ` <200601121434.54881.fred@lab.matcom.uh.cu>
2006-01-12 20:05       ` Yoanis Gil Delgado
2006-01-12 19:13         ` Mike Benoit
2006-01-12 18:14 ` Peter van Hardenberg
     [not found]   ` <200601121439.09483.fred@lab.matcom.uh.cu>
2006-01-12 20:06     ` Yoanis Gil Delgado
2006-01-12 21:58   ` David Masover
2006-01-13 20:34   ` Hans Reiser
2006-01-13 21:17     ` Toomas Laasik
2006-01-13 21:48       ` Hans Reiser
2006-01-14 11:56       ` Pierre Etchemaïté
2006-01-13 23:00     ` Jonathan Sailor
2006-01-14  9:07       ` Peter van Hardenberg
2006-01-14 17:28         ` David Masover
2006-01-14 22:23           ` Hans Reiser

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=43C5D694.9050402@namesys.com \
    --to=reiser@namesys.com \
    --cc=fred@lab.matcom.uh.cu \
    --cc=reiserfs-List@namesys.com \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.