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.
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.
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.
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!
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.
I agree this would be the right thing for a real undo mechanism.
Exactly!
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).
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
pgpV0LBGg_cbR.pgp
Description: PGP signature