aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/flake/lockfile.cc
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-09-18 21:17:27 +0200
committerEelco Dolstra <edolstra@gmail.com>2019-09-18 21:57:57 +0200
commitc67407172d8383394f4962ad177c84bf04529e5e (patch)
tree6dab718a9dbda0e13c2ceab07521449edd02f98c /src/libexpr/flake/lockfile.cc
parent092ee246277c76cd80f34088911419058e8b0f2f (diff)
Record original flakerefs in the lock file again
If 'input.<name>.uri' changes, then the entry in the lockfile for input <name> should be considered stale. Also print some messages when lock file entries are added/updated.
Diffstat (limited to 'src/libexpr/flake/lockfile.cc')
-rw-r--r--src/libexpr/flake/lockfile.cc6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libexpr/flake/lockfile.cc b/src/libexpr/flake/lockfile.cc
index f32d752f9..039b7a7c1 100644
--- a/src/libexpr/flake/lockfile.cc
+++ b/src/libexpr/flake/lockfile.cc
@@ -6,6 +6,7 @@ namespace nix::flake {
LockedInput::LockedInput(const nlohmann::json & json)
: LockedInputs(json)
, ref(json["uri"])
+ , originalRef(json["originalUri"])
, narHash(Hash((std::string) json["narHash"]))
{
if (!ref.isImmutable())
@@ -16,6 +17,7 @@ nlohmann::json LockedInput::toJson() const
{
auto json = LockedInputs::toJson();
json["uri"] = ref.to_string();
+ json["originalUri"] = originalRef.to_string();
json["narHash"] = narHash.to_string(SRI);
return json;
}
@@ -54,7 +56,7 @@ bool LockedInputs::isDirty() const
nlohmann::json LockFile::toJson() const
{
auto json = LockedInputs::toJson();
- json["version"] = 2;
+ json["version"] = 3;
return json;
}
@@ -64,7 +66,7 @@ LockFile LockFile::read(const Path & path)
auto json = nlohmann::json::parse(readFile(path));
auto version = json.value("version", 0);
- if (version != 2)
+ if (version != 3)
throw Error("lock file '%s' has unsupported version %d", path, version);
return LockFile(json);