aboutsummaryrefslogtreecommitdiff
path: root/scripts/nix-collect-garbage.in
AgeCommit message (Collapse)Author
2011-10-10* Set the executable bit on scripts.Eelco Dolstra
2008-11-20* Urgh.Eelco Dolstra
2007-03-13* Remove old generations in all directories underEelco Dolstra
/nix/var/nix/profiles, not just in that directory itself. (NixOS puts profiles in /nix/var/nix/profiles/per-user.)
2006-09-25* Clean up calls to system().Eelco Dolstra
2006-09-06* Convenience option `nix-collect-garbage -d' (--delete-old): removesEelco Dolstra
old generations of *all* profiles in /nix/var/nix/profiles, then runs the garbage collector. Quick way to get rid of all old stuff. Of course, one cannot roll back to earlier points in time after this.
2005-02-01* Move root finding from `nix-collect-garbage' to `nix-store --gc'.Eelco Dolstra
This was necessary becase root finding must be done after acquisition of the global GC lock. This makes `nix-collect-garbage' obsolete; it is now just a wrapper around `nix-store --gc'. * Automatically remove stale GC roots (i.e., indirect GC roots that point to non-existent paths).
2005-01-31* Start of concurrent garbage collection. Processes write temporaryEelco Dolstra
roots to a per-process temporary file in /nix/var/nix/temproots while holding a write lock on that file. The garbage collector acquires read locks on all those files, thus blocking further progress in other Nix processes, and reads the sets of temporary roots.
2005-01-27* Fix and simplify the garbage collector (it's still not concurrent,Eelco Dolstra
though). In particular it's now much easier to register a GC root. Just place a symlink to whatever store path it is that you want to keep in /nix/var/nix/gcroots.
2004-12-20* Place manifests in /nix/var/nix/manifests.Eelco Dolstra
* Use the new patch downloader.
2004-08-25* `--min-age' flag in nix-store and nix-collect-garbage to only deleteEelco Dolstra
unreachable paths that haven't been used for N hours. For instance, `nix-collect-garbage --min-age 168' only deletes paths that haven't been accessed in the last week. This is useful for instance in the build farm where many derivations can be shared between consecutive builds, and we wouldn't want a garbage collect to throw them all away. We could of course register them as roots, but then we'd to unregister them at some point, which would be a pain to manage. The `--min-age' flag gives us a sort of MRU caching scheme. BUG: this really shouldn't be in gc.cc since that violates mechanism/policy separation.
2004-08-25* `nix-collect-garbage' now actually performs a garbage collection, itEelco Dolstra
doesn't just print the set of paths that should be deleted. So there is no more need to pipe the result into `nix-store --delete' (which doesn't even exist anymore).
2004-04-22* Look for GC roots in @localstatedir@/nix/gcroots.Eelco Dolstra
2004-04-14* `*.gcroot' files can now containing multiple roots.Eelco Dolstra
2004-04-06* Switched from wget to curl.Eelco Dolstra
* Made the dependencies on bzip2 and the shell explicit.
2004-03-15* Make perl a dependency of Nix.Eelco Dolstra
2004-02-20* Use $(storedir) instead of $(prefix)/store.Eelco Dolstra
2004-02-06* Improvements to profiles. Generations are now per-profile, e.g.,Eelco Dolstra
default -> default-94-link default-82-link -> /nix/store/cc4480... default-83-link -> /nix/store/caeec8... ... default-94-link -> /nix/store/2896ca... experimental -> experimental-2-link experimental-1-link -> /nix/store/cc4480... experimental-2-link -> /nix/store/a3148f... * `--profile' / `-p' -> `--switch-profile' / `-S' * `--link' / `-l' -> `--profile' / `-p' * The default profile is stored in $prefix/var/nix/profiles. $prefix/var/nix/links is gone. Profiles can be stored anywhere. * The current profile is now referenced from ~/.nix-profile, not ~/.nix-userenv. * The roots to the garbage collector now have extension `.gcroot', not `.id'.
2003-11-22* Fix the garbage collector.Eelco Dolstra
2003-10-09* Follow successors by default (use `--no-successors' to override).Eelco Dolstra
2003-08-25* Don't continue when the call to nix fails.Eelco Dolstra
2003-07-29* Typo: if -> elsif.Eelco Dolstra
2003-07-29* Get garbage collection and cache population to work *properly*.Eelco Dolstra
Renamed `fstateRefs' to `fstateRequisites'. The semantics of this function is that it returns a list of all paths necessary to realise a given expression. For a derive expression, this is the union of requisites of the inputs; for a slice expression, it is the path of each element in the slice. Also included are the paths of the expressions themselves. Optionally, one can also include the requisites of successor expressions (to recycle intermediate results). * `nix-switch' now distinguishes between an expression and its normal form. Usually, only the normal form is registered as a root of the garbage collector. With the `--source-root' flag, it will also register the original expression as a root. * `nix-collect-garbage' now has a flag `--keep-successors' which causes successors not to be included in the list of garbage paths. * `nix-collect-garbage' now has a flag `--invert' which will print all paths that should *not* be garbage collected.
2003-07-21* Changed nix-pull to match nix-push.Eelco Dolstra
2003-07-14* Get the garbage collector to work again.Eelco Dolstra