Sorry, for some reason I didn't get any e-mail and noticed only
closing the bug. I'll subscribe to bug-guix ML to prevent it.
Toggle quote (2 lines)
> That’s expected, yes. What makes you think it’s a problem?
First, it was conflicting experience with what you were saying on IRC.
User experience was a bit confusing because the behaviour seemed
unexpected.
Toggle quote (9 lines)
>When implementing that, there were several possible choices:
>
> 1. Upon rollback to N, remove all generations above N. Rejected
> because it gratuitously prevents useful use cases.
>
> 2. Upon rollback from P to N, keep all the generations, but use P+1
> for the next generation number. Doesn’t work, because rolling back
> from P+1 would bring you back to P instead of N.
I can't understand this reason. It doesn't look like valid reason to
me, but only consequence of current implementation. It seems that you
don't store information about what was the previous generation and
that is whole point.
Toggle quote (5 lines)
> 3. The current behavior.
>
>See <http://lists.gnu.org/archive/html/bug-guix/2013-01/msg00325.html>
>for part of the discussion.
Thanks for looking that up!
Toggle quote (4 lines)
>Perhaps we can eventually move to an actual tree structure where the
>nodes can be named whatever. Until now I thought that's how generations
>work, and are just named after integers for identification purposes.
Yes, I had this in mind as well.
Toggle quote (2 lines)
>I agree this would be the right thing for a real undo mechanism.
Toggle quote (3 lines)
>But how useful would it be? I’ve never been in a situation where
>rollback/switch-generation would be insufficient or inappropriate.
I haven't met such situation either (yet).
Toggle quote (3 lines)
>I’m concerned that this would add both code and user interface
>complexity for mostly hypothetical use cases. WDYT?
Yes, it would surely add some more code and would be demanding for
creating good visual represantation for users, but it could also be
much closer to behavior user would expect. And that is something which
makes tools to be natural to use.
Thank you all for your comments.
S_W