mirror of
https://github.com/NixOS/nix
synced 2025-06-27 08:31:16 +02:00
assert hash types for Git and Mercurial
This commit is contained in:
parent
2c2fd4946f
commit
2769e43f61
2 changed files with 17 additions and 0 deletions
|
@ -189,8 +189,16 @@ struct GitInputScheme : InputScheme
|
|||
if (submodules) cacheType += "-submodules";
|
||||
if (allRefs) cacheType += "-all-refs";
|
||||
|
||||
auto checkHashType = [&](const std::optional<Hash> & hash)
|
||||
{
|
||||
if (hash.has_value() && !(hash->type == htSHA1 || hash->type == htSHA256))
|
||||
throw Error("Hash '%s' is not supported by Git. Supported types are sha1 and sha256.", hash->to_string(Base16, true));
|
||||
};
|
||||
|
||||
auto getLockedAttrs = [&]()
|
||||
{
|
||||
checkHashType(input.getRev());
|
||||
|
||||
return Attrs({
|
||||
{"type", cacheType},
|
||||
{"name", name},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue