about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;