about summary refs log tree commit diff
path: root/scripts/nix-collect-garbage.in
AgeCommit message (Collapse)AuthorFilesLines
2011-10-10 * Set the executable bit on scripts.Eelco Dolstra1-0/+0
2008-11-20 * Urgh.Eelco Dolstra1-2/+4
2007-03-13 * Remove old generations in all directories underEelco Dolstra1-6/+15
/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 Dolstra1-1/+1
2006-09-06 * Convenience option `nix-collect-garbage -d' (--delete-old): removesEelco Dolstra1-2/+42
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 Dolstra1-83/+2
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 Dolstra1-1/+5
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 Dolstra1-32/+21
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 Dolstra1-0/+0
* Use the new patch downloader.
2004-08-25 * `--min-age' flag in nix-store and nix-collect-garbage to only deleteEelco Dolstra1-4/+12
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 Dolstra1-31/+13
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 Dolstra1-19/+53
2004-04-14 * `*.gcroot' files can now containing multiple roots.Eelco Dolstra1-3/+7
2004-04-06 * Switched from wget to curl.Eelco Dolstra1-1/+1
* Made the dependencies on bzip2 and the shell explicit.
2004-03-15 * Make perl a dependency of Nix.Eelco Dolstra1-1/+1
2004-02-20 * Use $(storedir) instead of $(prefix)/store.Eelco Dolstra1-1/+1
2004-02-06 * Improvements to profiles. Generations are now per-profile, e.g.,Eelco Dolstra1-2/+2
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 Dolstra1-3/+18
2003-10-09 * Follow successors by default (use `--no-successors' to override).Eelco Dolstra1-2/+2
2003-08-25 * Don't continue when the call to nix fails.Eelco Dolstra1-3/+11
2003-07-29 * Typo: if -> elsif.Eelco Dolstra1-1/+1
2003-07-29 * Get garbage collection and cache population to work *properly*.Eelco Dolstra1-1/+15
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 Dolstra1-1/+1
2003-07-14 * Get the garbage collector to work again.Eelco Dolstra1-0/+25