diff --git a/src/libstore/gc.cc b/src/libstore/gc.cc index cc50f6ae4..0377599ad 100644 --- a/src/libstore/gc.cc +++ b/src/libstore/gc.cc @@ -710,7 +710,7 @@ void LocalStore::collectGarbage(GCAction action, const PathSet & pathsToDelete, bytesFreed += freed; } catch (PathInUse & e) { printMsg(lvlError, format("warning: %1%") % e.msg()); - } + } #ifndef __CYGWIN__ if (fdLock != -1) diff --git a/src/libstore/store-state.cc b/src/libstore/store-state.cc index bd7867aa8..5bb957926 100644 --- a/src/libstore/store-state.cc +++ b/src/libstore/store-state.cc @@ -551,7 +551,8 @@ void removeAllStatePathRevisions(Database & nixDB, const Transaction & txn, Tabl //Remove all revisions nixDB.delPair(txn, revisions_table, statePath); RevisionInfos revisions; - store->queryAvailableStateRevisions(statePath, revisions); + queryAvailableStateRevisions(nixDB, txn, revisions_table, revisions_comments, statePath, revisions); + for (RevisionInfos::iterator i = revisions.begin(); i != revisions.end(); ++i){ unsigned int rev = (*i).first; nixDB.delPair(txn, revisions_table, mergeToDBKey(statePath, rev)); @@ -705,6 +706,8 @@ bool queryAvailableStateRevisions(Database & nixDB, const Transaction & txn, Tab for (Strings::const_iterator i = keys.begin(); i != keys.end(); ++i) { + printMsg(lvlError, format("QQQQ %1%") % *i); + if((*i).substr(0, statePath.length()) != statePath || (*i).length() == statePath.length()) //dont check the new-revision key or other keys continue;