diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-08-11T20·26+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-08-11T20·26+0000 |
commit | 4250b641d8e8edc4cb7def9bc463c7e4ff82e144 (patch) | |
tree | e90895b2154163a1b0be61616220e4215cf6159c /src/nix-store/main.cc | |
parent | 92f7dfa5b73e44f7584eaed726927450a29a48b8 (diff) |
* `nix-store --gc --print-dead': print the total size of the store
objects that would be freed.
Diffstat (limited to 'src/nix-store/main.cc')
-rw-r--r-- | src/nix-store/main.cc | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/src/nix-store/main.cc b/src/nix-store/main.cc index 132516cd9396..fc458a246c4a 100644 --- a/src/nix-store/main.cc +++ b/src/nix-store/main.cc @@ -492,13 +492,17 @@ static void opCheckValidity(Strings opFlags, Strings opArgs) struct PrintFreed { - bool show; + bool show, dryRun; unsigned long long bytesFreed; - PrintFreed(bool _show) : bytesFreed(0), show(_show) { } + PrintFreed(bool show, bool dryRun) + : bytesFreed(0), show(show), dryRun(dryRun) { } ~PrintFreed() { if (show) - cout << format("%d bytes freed (%.2f MiB)\n") + cout << format( + (dryRun + ? "%d bytes would be freed (%.2f MiB)\n" + : "%d bytes freed (%.2f MiB)\n")) % bytesFreed % (bytesFreed / (1024.0 * 1024.0)); } }; @@ -518,7 +522,8 @@ static void opGC(Strings opFlags, Strings opArgs) else throw UsageError(format("bad sub-operation `%1%' in GC") % *i); PathSet result; - PrintFreed freed(action == gcDeleteDead); + PrintFreed freed(action == gcDeleteDead || action == gcReturnDead, + action == gcReturnDead); collectGarbage(action, PathSet(), false, result, freed.bytesFreed); if (action != gcDeleteDead) { @@ -546,7 +551,7 @@ static void opDelete(Strings opFlags, Strings opArgs) pathsToDelete.insert(fixPath(*i)); PathSet dummy; - PrintFreed freed(true); + PrintFreed freed(true, false); collectGarbage(gcDeleteSpecific, pathsToDelete, ignoreLiveness, dummy, freed.bytesFreed); } |