about summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2003-07-08T15·33+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2003-07-08T15·33+0000
commit333f4963de6d174d852774a88ada852f77f57994 (patch)
tree9a16d56234604e17ce95c4a842d62241e79d61d7
parent40274c1f4f763e634dd031f7a6b4ba8ce2de7a82 (diff)
* The output of a Derive() node is not a referenced path.
-rw-r--r--src/fstate.cc2
-rw-r--r--src/nix.cc2
2 files changed, 1 insertions, 3 deletions
diff --git a/src/fstate.cc b/src/fstate.cc
index fa677a257a14..731493fd35cb 100644
--- a/src/fstate.cc
+++ b/src/fstate.cc
@@ -359,8 +359,6 @@ void fstateRefs2(FState fs, StringSet & paths)
     else if (ATmatch(fs, "Derive(<str>, <str>, [<list>], <str>, [<list>])", 
             &s1, &s2, &ins, &s3, &e2))
     {
-        paths.insert(s3);
-
         while (!ATisEmpty(ins)) {
             fstateRefs2(ATgetFirst(ins), paths);
             ins = ATgetNext(ins);
diff --git a/src/nix.cc b/src/nix.cc
index ec4c91788efd..f3549ead8442 100644
--- a/src/nix.cc
+++ b/src/nix.cc
@@ -160,7 +160,7 @@ static void opQuery(Strings opFlags, Strings opArgs)
             break;
 
         case qRefs: {
-            Strings refs = fstateRefs(termFromHash(hash));
+            Strings refs = fstateRefs(realiseFState(termFromHash(hash)));
             for (Strings::iterator j = refs.begin(); 
                  j != refs.end(); j++)
                 cout << format("%s\n") % *j;