* Added a flag --ignore-liveness' to nix-store --delete'. It

deletes a path even if it is reachable from a root.  However, it
  won't delete a path that still has referrers (since that would
  violate store invariants).

  Don't try this at home.  It's a useful hack for recovering from
  certain situations in a somewhat clean way (e.g., holes in closures
  due to disk corruption).
This commit is contained in:
Eelco Dolstra 2005-12-23 21:36:44 +00:00
parent 4b9e7f59ca
commit f96d2dea26
3 changed files with 12 additions and 6 deletions

View file

@ -21,7 +21,7 @@ typedef enum {
set of paths not reachable from the roots. If `action' is
`gcDeleteDead', actually delete the latter set. */
void collectGarbage(GCAction action, const PathSet & pathsToDelete,
PathSet & result, unsigned long long & bytesFreed);
bool ignoreLiveness, PathSet & result, unsigned long long & bytesFreed);
/* Register a temporary GC root. This root will automatically
disappear when this process exits. WARNING: this function should