forked from lix-project/lix
8846465934
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.
36 lines
1.2 KiB
C++
36 lines
1.2 KiB
C++
#ifndef __NORMALISE_H
|
|
#define __NORMALISE_H
|
|
|
|
#include "fstate.hh"
|
|
|
|
|
|
/* Normalise an fstate-expression, that is, return an equivalent
|
|
slice. (For the meaning of `pending', see expandId()). */
|
|
FSId normaliseFState(FSId id, FSIdSet pending = FSIdSet());
|
|
|
|
/* Realise a Slice in the file system. */
|
|
void realiseSlice(const FSId & id, FSIdSet pending = FSIdSet());
|
|
|
|
/* Get the list of root (output) paths of the given
|
|
fstate-expression. */
|
|
Strings fstatePaths(const FSId & id);
|
|
|
|
/* Get the list of paths that are required to realise the 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. If `includeExprs' is true, include the
|
|
paths of the Nix expressions themselves. If `includeSuccessors' is
|
|
true, include the requisites of successors. */
|
|
Strings fstateRequisites(const FSId & id,
|
|
bool includeExprs, bool includeSuccessors);
|
|
|
|
/* Return the list of the ids of all known fstate-expressions whose
|
|
output ids are completely contained in `ids'. */
|
|
FSIds findGenerators(const FSIds & ids);
|
|
|
|
/* Register a successor. */
|
|
void registerSuccessor(const FSId & id1, const FSId & id2);
|
|
|
|
|
|
#endif /* !__NORMALISE_H */
|