about summary refs log tree commit diff
path: root/scripts/nix-push.in
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2004-02-13T10·43+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2004-02-13T10·43+0000
commit1ad9d1124727dd48beaec36b006bba856350905d (patch)
tree22775ab8f135fef1fc8633911bc053dca9f45b9f /scripts/nix-push.in
parent00fe1a506f045e612b0564ab0b5aff3917e26bd3 (diff)
* Only include predecessors that are themselves being pushed.
  Otherwise the substitute mechanism can break in subtle ways.

Diffstat (limited to 'scripts/nix-push.in')
-rw-r--r--scripts/nix-push.in7
1 files changed, 6 insertions, 1 deletions
diff --git a/scripts/nix-push.in b/scripts/nix-push.in
index b5899e45839a..356fe1952207 100644
--- a/scripts/nix-push.in
+++ b/scripts/nix-push.in
@@ -139,7 +139,12 @@ for (my $n = 0; $n < scalar @storepaths; $n++) {
         while (<PREDS>) {
             chomp;
             die unless (/^\//);
-            print MANIFEST "  SuccOf: $_\n";
+            my $pred = $_;
+            # Only include predecessors that are themselves being
+            # pushed.
+            if (defined $storepaths{$pred}) {
+                print MANIFEST "  SuccOf: $pred\n";
+            }
         }
         close PREDS;
     }