* Files in the info directory starting with "." are temporary files

and don't indicate path validity.
This commit is contained in:
Eelco Dolstra 2008-11-19 16:27:07 +00:00
parent 5d250ad1ea
commit e13da525a7

View file

@ -408,6 +408,9 @@ ValidPathInfo LocalStore::queryPathInfo(const Path & path)
bool LocalStore::isValidPath(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)); return pathExists(infoFileFor(path));
} }
@ -416,8 +419,8 @@ PathSet LocalStore::queryValidPaths()
{ {
PathSet paths; PathSet paths;
Strings entries = readDirectory(nixDBPath + "/info"); Strings entries = readDirectory(nixDBPath + "/info");
for (Strings::iterator i = entries.begin(); i != entries.end(); ++i) for (Strings::iterator i = entries.begin(); i != entries.end(); ++i)
paths.insert(nixStore + "/" + *i); if (i->at(0) != '.') paths.insert(nixStore + "/" + *i);
return paths; return paths;
} }