diff options
author | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-13T12·46+0200 |
---|---|---|
committer | Eelco Dolstra <eelco.dolstra@logicblox.com> | 2013-06-13T12·46+0200 |
commit | f9ff67e9487a0085ad6536016791242364ce70d9 (patch) | |
tree | 50fbdfa73fbc10748b773562ece51be427a67ef2 /src/libstore/local-store.cc | |
parent | 6b05f688ee6849b89e7fb0d3fb7b678f316039e7 (diff) |
In repair mode, update the hash of rebuilt paths
Otherwise subsequent invocations of "--repair" will keep rebuilding the path. This only happens if the path content differs between builds (e.g. due to timestamps).
Diffstat (limited to 'src/libstore/local-store.cc')
-rw-r--r-- | src/libstore/local-store.cc | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/src/libstore/local-store.cc b/src/libstore/local-store.cc index b44e025b5b1f..857d4cee05cd 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); } |