Hi! Chris Marusich <cmmarus...@gmail.com> skribis:
> I've noticed that, in GuixSD, if one rolls back the system with 'guix > system roll-back' or switches to a previous generation with 'guix system > switch-generation', and then one tries to run 'guix system reconfigure', > the operation fails because the symlink for the new generation already > exists. I expected the operation to succeed and overwrite the existing > generation, since that mirrors the behavior of 'guix package'. > > Specifically, if the current generation is N and generation N+1 exists, > then running 'guix system reconfigure' should overwrite generation N+1 > with the new system. Currently, it fails to create the symlink. I've > attached a patch which modifies the behavior to be what I expected. Indeed. > From 526f78a38dabeb12196a21cebe174f073c217c12 Mon Sep 17 00:00:00 2001 > From: Chris Marusich <cmmarus...@gmail.com> > Date: Fri, 2 Dec 2016 01:52:04 -0800 > Subject: [PATCH] system: If the new system generation already exists, > overwrite it. > > * guix/scripts/system.scm (switch-to-system): Create the symlink to the new > system generation using the procedure "switch-symlink" instead of "symlink". > That way, if the link already exists, we update it instead of failing. > > * doc/guix.texi (Using the Configuration System, Invoking guix system): > Document the behavior. [...] > +overwritten. This behavior mirrors that of @command{guix package} > +@pxref{Invoking guix package}. Note: @pxref is for parenthetical expressions (info "(texinfo) pxref"). I adjusted this and the commit log and committed. Thank you! Ludo’.