aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorQuantum Jump <quantumjump451@gmail.com>2024-07-05 20:22:53 +0100
committerQuantum Jump <quantumjump451@gmail.com>2024-07-09 13:55:05 +0000
commit6e0ca0242579dc6114ccfc2417406372acc3004c (patch)
treebed94e88cd66b0f1d3bf04bafac707b5b7c2e5d2 /doc
parentaccfd8aa9d786831e6e08e92162891e99e11c08a (diff)
Fix dry-run flag for nix-collect-garbage
`nix-collect-garbage --dry-run` previously elided the entire garbage collection check, meaning that it would just exit the script without printing anything. This change makes the dry run flag instead set the GC action to `gcReturnDead` rather than `gcDeleteDead`, and then continue with the script. So if you set `--dry-run`, it will print the paths it *would* have garbage collected, but not actually delete them. I filed a bug for this: https://git.lix.systems/lix-project/lix/issues/432 but then realised I could give fixing it a go myself. Change-Id: I062dbf1a80bbab192b5fd0b3a453a0b555ad16f2
Diffstat (limited to 'doc')
-rw-r--r--doc/manual/change-authors.yml4
-rw-r--r--doc/manual/rl-next/fix-gc-dry-run.md29
2 files changed, 33 insertions, 0 deletions
diff --git a/doc/manual/change-authors.yml b/doc/manual/change-authors.yml
index 28a20b25f..f56a1e6fb 100644
--- a/doc/manual/change-authors.yml
+++ b/doc/manual/change-authors.yml
@@ -96,6 +96,10 @@ puck:
forgejo: puck
github: puckipedia
+quantumjump:
+ display_name: Quantum Jump
+ github: QuantumBJump
+
r-vdp:
github: r-vdp
diff --git a/doc/manual/rl-next/fix-gc-dry-run.md b/doc/manual/rl-next/fix-gc-dry-run.md
new file mode 100644
index 000000000..6095d7727
--- /dev/null
+++ b/doc/manual/rl-next/fix-gc-dry-run.md
@@ -0,0 +1,29 @@
+---
+synopsis: Fix nix-collect-garbage --dry-run
+issues: [fj#432]
+cls: [1566]
+category: Fixes
+credits: [quantumjump]
+---
+
+`nix-collect-garbage --dry-run` did not previously give any output - it simply
+exited without even checking to see what paths would be deleted.
+
+```
+$ nix-collect-garbage --dry-run
+$
+```
+
+We updated the behaviour of the flag such that instead it prints out how many
+paths it *would* delete, but doesn't actually delete them.
+
+```
+$ nix-collect-garbage --dry-run
+finding garbage collector roots...
+determining live/dead paths...
+...
+<nix store paths>
+...
+2670 store paths deleted, 0.00MiB freed
+$
+```