about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/nix-env/nix-env.cc5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/nix-env/nix-env.cc b/src/nix-env/nix-env.cc
index 7733ab16b9ec..9c78f012141a 100644
--- a/src/nix-env/nix-env.cc
+++ b/src/nix-env/nix-env.cc
@@ -567,7 +567,10 @@ static void upgradeDerivations(Globals & globals,
         DrvName drvName(i->name);
 
         MetaInfo meta = i->queryMetaInfo(globals.state);
-        if (meta["keep"] == "true") continue;
+        if (meta["keep"] == "true") {
+            newElems.push_back(*i);
+            continue;
+        }
 
         /* Find the derivation in the input Nix expression with the
            same name that satisfies the version constraints specified