diff --git a/src/libstore/build.cc b/src/libstore/build.cc index 6fe726a487..5034e208ec 100644 --- a/src/libstore/build.cc +++ b/src/libstore/build.cc @@ -1673,7 +1673,7 @@ void DerivationGoal::startBuilder() { PathSet missing = outputPaths(drv.outputs); foreach (PathSet::iterator, i, validPaths) missing.erase(*i); - startNest(nest, lvlInfo, format("building path(s) %1%") % showPaths(missing)); + startNest(nest, lvlInfo, format(repair ? "repairing path(s) %1%" : "building path(s) %1%") % showPaths(missing)); /* Right platform? */ if (!canBuildLocally(drv.platform)) diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index b44e025b5b..857d4cee05 100644 --- a/src/libstore/local-store.cc +++ b/src/libstore/local-store.cc @@ -1202,9 +1202,10 @@ void LocalStore::registerValidPaths(const ValidPathInfos & infos) foreach (ValidPathInfos::const_iterator, i, infos) { assert(i->hash.type == htSHA256); - /* !!! Maybe the registration info should be updated if the - path is already valid. */ - if (!isValidPath(i->path)) addValidPath(*i); + if (isValidPath(i->path)) + updatePathInfo(*i); + else + addValidPath(*i); paths.insert(i->path); }