From e13da525a7c16200f451fafb832993b47d407418 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 19 Nov 2008 16:27:07 +0000 Subject: [PATCH] * Files in the info directory starting with "." are temporary files and don't indicate path validity. --- src/libstore/local-store.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index d8ac9820ff..9dcd134711 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -408,6 +408,9 @@ ValidPathInfo LocalStore::queryPathInfo(const Path & path) bool LocalStore::isValidPath(const Path & path) { + /* Files in the info directory starting with a `.' are temporary + files. */ + if (baseNameOf(path).at(0) == '.') return false; return pathExists(infoFileFor(path)); } @@ -416,8 +419,8 @@ PathSet LocalStore::queryValidPaths() { PathSet paths; Strings entries = readDirectory(nixDBPath + "/info"); - for (Strings::iterator i = entries.begin(); i != entries.end(); ++i) - paths.insert(nixStore + "/" + *i); + for (Strings::iterator i = entries.begin(); i != entries.end(); ++i) + if (i->at(0) != '.') paths.insert(nixStore + "/" + *i); return paths; }