diff options
Diffstat (limited to 'src/nix-store')
-rw-r--r-- | src/nix-store/help.txt | 12 | ||||
-rw-r--r-- | src/nix-store/main.cc | 8 |
2 files changed, 16 insertions, 4 deletions
diff --git a/src/nix-store/help.txt b/src/nix-store/help.txt index deef23ff8f3b..35d5423cd8d2 100644 --- a/src/nix-store/help.txt +++ b/src/nix-store/help.txt @@ -4,7 +4,8 @@ nix-store [OPTIONS...] [ARGUMENTS...] Operations: - --realise / -r: build a Nix derivation + --realise / -r: ensure path validity; if a derivation, ensure that + validity of the outputs --add / -A: copy a path to the Nix store --query / -q: query information @@ -27,9 +28,16 @@ Query flags: --outputs: query the output paths of a Nix derivation (default) --requisites / -R: print all paths necessary to realise a path --references: print all paths referenced by the given path - --referers: print all paths refering to the given path + --referers: print all paths directly refering to the given path + --referers-closure: print all paths (in)directly refering to the given path --graph: print a dot graph rooted at given ids +Query switches (not applicable to all queries): + + --use-output: perform query on output of derivation, not derivation itself + --force-realise: realise the path before performing the query + --include-outputs: in `-R' on a derivation, include requisites of outputs + Options: --verbose / -v: verbose operation (may be repeated) diff --git a/src/nix-store/main.cc b/src/nix-store/main.cc index addf9c7d0d67..dc7a6de8b8ec 100644 --- a/src/nix-store/main.cc +++ b/src/nix-store/main.cc @@ -96,7 +96,8 @@ static void printPathSet(const PathSet & paths) /* Perform various sorts of queries. */ static void opQuery(Strings opFlags, Strings opArgs) { - enum { qOutputs, qRequisites, qReferences, qReferers, qGraph } query = qOutputs; + enum { qOutputs, qRequisites, qReferences, qReferers, + qReferersClosure, qGraph } query = qOutputs; bool useOutput = false; bool includeOutputs = false; bool forceRealise = false; @@ -107,6 +108,7 @@ static void opQuery(Strings opFlags, Strings opArgs) else if (*i == "--requisites" || *i == "-R") query = qRequisites; else if (*i == "--references") query = qReferences; else if (*i == "--referers") query = qReferers; + else if (*i == "--referers-closure") query = qReferersClosure; else if (*i == "--graph") query = qGraph; else if (*i == "--use-output" || *i == "-u") useOutput = true; else if (*i == "--force-realise" || *i == "-f") forceRealise = true; @@ -128,7 +130,8 @@ static void opQuery(Strings opFlags, Strings opArgs) case qRequisites: case qReferences: - case qReferers: { + case qReferers: + case qReferersClosure: { PathSet paths; for (Strings::iterator i = opArgs.begin(); i != opArgs.end(); i++) @@ -138,6 +141,7 @@ static void opQuery(Strings opFlags, Strings opArgs) storePathRequisites(path, includeOutputs, paths); else if (query == qReferences) queryReferences(path, paths); else if (query == qReferers) queryReferers(path, paths); + else if (query == qReferersClosure) computeFSClosure(path, paths, true); } printPathSet(paths); break; |