mirror of
https://github.com/privatevoid-net/nix-super.git
synced 2024-11-10 16:26:18 +02:00
Add 'nix nar dump-path'
This only differs from 'nix store dump-path' in that the path doesn't need to be a store path.
This commit is contained in:
parent
af373c2ece
commit
a1cd805cba
2 changed files with 43 additions and 2 deletions
|
@ -1,5 +1,6 @@
|
||||||
#include "command.hh"
|
#include "command.hh"
|
||||||
#include "store-api.hh"
|
#include "store-api.hh"
|
||||||
|
#include "archive.hh"
|
||||||
|
|
||||||
using namespace nix;
|
using namespace nix;
|
||||||
|
|
||||||
|
@ -7,7 +8,7 @@ struct CmdDumpPath : StorePathCommand
|
||||||
{
|
{
|
||||||
std::string description() override
|
std::string description() override
|
||||||
{
|
{
|
||||||
return "dump a store path to stdout (in NAR format)";
|
return "serialise a store path to stdout in NAR format";
|
||||||
}
|
}
|
||||||
|
|
||||||
Examples examples() override
|
Examples examples() override
|
||||||
|
@ -30,4 +31,43 @@ struct CmdDumpPath : StorePathCommand
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
static auto rDumpPath = registerCommand<CmdDumpPath>("dump-path");
|
|
||||||
|
static auto rDumpPath = registerCommand2<CmdDumpPath>({"store", "dump-path"});
|
||||||
|
|
||||||
|
struct CmdDumpPath2 : Command
|
||||||
|
{
|
||||||
|
Path path;
|
||||||
|
|
||||||
|
CmdDumpPath2()
|
||||||
|
{
|
||||||
|
expectArgs({
|
||||||
|
.label = "path",
|
||||||
|
.handler = {&path},
|
||||||
|
.completer = completePath
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string description() override
|
||||||
|
{
|
||||||
|
return "serialise a path to stdout in NAR format";
|
||||||
|
}
|
||||||
|
|
||||||
|
Examples examples() override
|
||||||
|
{
|
||||||
|
return {
|
||||||
|
Example{
|
||||||
|
"To serialise directory 'foo' as a NAR:",
|
||||||
|
"nix nar dump-path ./foo"
|
||||||
|
},
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
void run() override
|
||||||
|
{
|
||||||
|
FdSink sink(STDOUT_FILENO);
|
||||||
|
dumpPath(path, sink);
|
||||||
|
sink.flush();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
static auto rDumpPath2 = registerCommand2<CmdDumpPath2>({"nar", "dump-path"});
|
||||||
|
|
|
@ -125,6 +125,7 @@ struct NixArgs : virtual MultiCommand, virtual MixCommonArgs
|
||||||
{"ls-store", {"store", "ls"}},
|
{"ls-store", {"store", "ls"}},
|
||||||
{"cat-nar", {"nar", "cat"}},
|
{"cat-nar", {"nar", "cat"}},
|
||||||
{"cat-store", {"store", "cat"}},
|
{"cat-store", {"store", "cat"}},
|
||||||
|
{"dump-path", {"store", "dump-path"}},
|
||||||
};
|
};
|
||||||
|
|
||||||
bool aliasUsed = false;
|
bool aliasUsed = false;
|
||||||
|
|
Loading…
Reference in a new issue