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
|
@ -1,5 +1,6 @@
|
|||
#include "command.hh"
|
||||
#include "store-api.hh"
|
||||
#include "archive.hh"
|
||||
|
||||
using namespace nix;
|
||||
|
||||
|
@ -7,7 +8,7 @@ struct CmdDumpPath : StorePathCommand
|
|||
{
|
||||
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
|
||||
|
@ -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"}},
|
||||
{"cat-nar", {"nar", "cat"}},
|
||||
{"cat-store", {"store", "cat"}},
|
||||
{"dump-path", {"store", "dump-path"}},
|
||||
};
|
||||
|
||||
bool aliasUsed = false;
|
||||
|
|
Loading…
Reference in a new issue