Subject: [bug#51427] [PATCH] nix: libstore: Do not remove unused links when deleting specific items.

From: zimoun <[email-masked]>
Date: Wed, 3 Nov 2021 11:45:39 +0100

Hi,

On Sun, 31 Oct 2021 at 21:53, Maxim Cournoyer <[email-masked]> wrote:

> > My proposal would be either the status quo, or removing just the one
> > link that matters from /gnu/store/.links upon ‘-D’.
>
> The second proposal makes sense.  I didn't care about freeing space, as
> my use case was getting around corrupting an item in my store due to
> https://issues.guix.gnu.org/51400, which the patch proposed here allowed
> me to do without wasting hours of cleaning up links (nearly 1 GiB of
> store on spinning drives).

I often use "guix gc -D" for being able to launch again a command and
then check against SWH or other upstream.  Because the "deleting
links" is too much long, I am doing ^C at this step.  Therefore, be
able to skip this step when running "guix gc -D" appears to me the
thing to do.  Well, if "guix gc -D" is not doing it, then I am forcing
it by interrupting it; which appears to me worse than status quo.
BTW, if I need space, then I do not use "guix gc -D" on few items but
instead I use the options -F or -d or -C; here I am fine it takes the
time it takes. :-)

Well, «"deleting unused links" GC phase is too slow» is not new
because it is bug#24937 [1].  Therefore, status quo is really annoying
and I would prefer to skip this GC phase when using option -D although
it is not optimal.  Or remove just the one link that matters.

1: <http://issues.guix.gnu.org/issue/24937>

Cheers,
simon