bug-guix
[Top][All Lists]
Advanced

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

Re: Rollback problems


From: Alex Sassmannshausen
Subject: Re: Rollback problems
Date: Fri, 25 Jan 2013 13:54:51 +0000

> > Let me illustrate.   Suppose these generations:
> 
> > A ------> B ------> C
> 
> > When doing a roll-back from C, one should obviously get back at B.   At
> > that point, C would still be available.   Keeping it around means that
> > users can easily switch back to C if B turned out to be less
> > appropriate (this answers questions (1) and (2)).
> 
> > Once at B, installing or removing packages would delete C, thus
> > allowing its generation number to be reused, and create a new
> > generation C’ with the same generation number as C:
> 
> > A ------> B ------> C’
> 
> > At this point, switching back to C is no longer possible.

I agree too. Plus, it seems like a neat mechanism. 

I guess a generation would only be destroyed at a junction, not when moving 
back and forth in straight lines.

A ------> B ------> C

You could travel from C back to A and back to C without having to re-install 
packages...

Looking forward to seeing it implemented.

Alex

On Fri, 25 Jan 2013, 02:44:39 GMT, Nikita Karetnikov <address@hidden> wrote:

> > 3. More generally, should the history of generations be linear, or
> > should it be a DAG like Git commits?
> 
> If the latter is the case, then we can probably use a simple tree.   Here
> is a related link: [1].
> 
> > Regarding (3), it seems that a linear history not only simplifies the
> > implementation, but also the user interface, while covering most
> > practical use cases.
> 
> I agree.
> 
> > Let me illustrate.   Suppose these generations:
> 
> > A ------> B ------> C
> 
> > When doing a roll-back from C, one should obviously get back at B.   At
> > that point, C would still be available.   Keeping it around means that
> > users can easily switch back to C if B turned out to be less
> > appropriate (this answers questions (1) and (2)).
> 
> > Once at B, installing or removing packages would delete C, thus
> > allowing its generation number to be reused, and create a new
> > generation C’ with the same generation number as C:
> 
> > A ------> B ------> C’
> 
> > At this point, switching back to C is no longer possible.
> 
> I like the idea.
> 
> Nikita
> 
> [1] http://learnyouahaskell.com/zippers#a-very-simple-file-system




reply via email to

[Prev in Thread] Current Thread [Next in Thread]