mirror of
https://github.com/NixOS/nix.git
synced 2025-11-11 21:16:02 +01:00
- `nix store add` supports text hashing
With functional test ensuring it matches `builtins.toFile`.
- Factored-out flags for both commands
- Move all common reusable flags to `libcmd`
- They are not part of the *definition* of the CLI infra, just a usag
of it.
- The `libstore` flag couldn't go in `args.hh` in libutil anyways,
would be awkward for it to live alone
- Shuffle around `Cmd*` hierarchy so flags for deprecated commands don't
end up on the new ones
21 lines
728 B
C++
21 lines
728 B
C++
#include "args.hh"
|
|
#include "content-address.hh"
|
|
|
|
namespace nix::flag {
|
|
|
|
Args::Flag hashAlgo(std::string && longName, HashAlgorithm * ha);
|
|
static inline Args::Flag hashAlgo(HashAlgorithm * ha)
|
|
{
|
|
return hashAlgo("hash-algo", ha);
|
|
}
|
|
Args::Flag hashAlgoOpt(std::string && longName, std::optional<HashAlgorithm> * oha);
|
|
Args::Flag hashFormatWithDefault(std::string && longName, HashFormat * hf);
|
|
Args::Flag hashFormatOpt(std::string && longName, std::optional<HashFormat> * ohf);
|
|
static inline Args::Flag hashAlgoOpt(std::optional<HashAlgorithm> * oha)
|
|
{
|
|
return hashAlgoOpt("hash-algo", oha);
|
|
}
|
|
Args::Flag fileIngestionMethod(FileIngestionMethod * method);
|
|
Args::Flag contentAddressMethod(ContentAddressMethod * method);
|
|
|
|
}
|