mirror of
https://github.com/NixOS/nix
synced 2025-07-06 21:41:48 +02:00
* Add an command `nix-store --query-failed-paths' to list the cached
failed paths (when using the `build-cache-failure' option).
This commit is contained in:
parent
d66ea83a76
commit
2398af13c5
3 changed files with 39 additions and 3 deletions
|
@ -33,7 +33,7 @@ static bool indirectRoot = false;
|
|||
LocalStore & ensureLocalStore()
|
||||
{
|
||||
LocalStore * store2(dynamic_cast<LocalStore *>(store.get()));
|
||||
if (!store2) throw Error("you don't have sufficient rights to use --verify");
|
||||
if (!store2) throw Error("you don't have sufficient rights to use this command");
|
||||
return *store2;
|
||||
}
|
||||
|
||||
|
@ -651,8 +651,7 @@ static void opOptimise(Strings opFlags, Strings opArgs)
|
|||
|
||||
bool dryRun = false;
|
||||
|
||||
for (Strings::iterator i = opFlags.begin();
|
||||
i != opFlags.end(); ++i)
|
||||
foreach (Strings::iterator, i, opFlags)
|
||||
if (*i == "--dry-run") dryRun = true;
|
||||
else throw UsageError(format("unknown flag `%1%'") % *i);
|
||||
|
||||
|
@ -667,6 +666,16 @@ static void opOptimise(Strings opFlags, Strings opArgs)
|
|||
}
|
||||
|
||||
|
||||
static void opQueryFailedPaths(Strings opFlags, Strings opArgs)
|
||||
{
|
||||
if (!opArgs.empty() || !opFlags.empty())
|
||||
throw UsageError("no arguments expected");
|
||||
PathSet failed = ensureLocalStore().queryFailedPaths();
|
||||
foreach (PathSet::iterator, i, failed)
|
||||
cout << format("%1%\n") % *i;
|
||||
}
|
||||
|
||||
|
||||
/* Scan the arguments; find the operation, set global flags, put all
|
||||
other flags in a list, and put all other arguments in another
|
||||
list. */
|
||||
|
@ -718,6 +727,8 @@ void run(Strings args)
|
|||
op = opVerify;
|
||||
else if (arg == "--optimise")
|
||||
op = opOptimise;
|
||||
else if (arg == "--query-failed-paths")
|
||||
op = opQueryFailedPaths;
|
||||
else if (arg == "--add-root") {
|
||||
if (i == args.end())
|
||||
throw UsageError("`--add-root requires an argument");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue