mirror of
https://github.com/NixOS/nix
synced 2025-06-25 10:41:16 +02:00
Merge pull request #12547 from NixOS/mergify/bp/2.26-maintenance/pr-12510
libstore: fix expected bytes in progress bar (backport #12510)
This commit is contained in:
commit
a30588365b
1 changed files with 5 additions and 4 deletions
|
@ -230,18 +230,22 @@ void Store::addMultipleToStore(
|
||||||
{
|
{
|
||||||
std::atomic<size_t> nrDone{0};
|
std::atomic<size_t> nrDone{0};
|
||||||
std::atomic<size_t> nrFailed{0};
|
std::atomic<size_t> nrFailed{0};
|
||||||
std::atomic<uint64_t> bytesExpected{0};
|
|
||||||
std::atomic<uint64_t> nrRunning{0};
|
std::atomic<uint64_t> nrRunning{0};
|
||||||
|
|
||||||
using PathWithInfo = std::pair<ValidPathInfo, std::unique_ptr<Source>>;
|
using PathWithInfo = std::pair<ValidPathInfo, std::unique_ptr<Source>>;
|
||||||
|
|
||||||
|
uint64_t bytesExpected = 0;
|
||||||
|
|
||||||
std::map<StorePath, PathWithInfo *> infosMap;
|
std::map<StorePath, PathWithInfo *> infosMap;
|
||||||
StorePathSet storePathsToAdd;
|
StorePathSet storePathsToAdd;
|
||||||
for (auto & thingToAdd : pathsToCopy) {
|
for (auto & thingToAdd : pathsToCopy) {
|
||||||
|
bytesExpected += thingToAdd.first.narSize;
|
||||||
infosMap.insert_or_assign(thingToAdd.first.path, &thingToAdd);
|
infosMap.insert_or_assign(thingToAdd.first.path, &thingToAdd);
|
||||||
storePathsToAdd.insert(thingToAdd.first.path);
|
storePathsToAdd.insert(thingToAdd.first.path);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
act.setExpected(actCopyPath, bytesExpected);
|
||||||
|
|
||||||
auto showProgress = [&, nrTotal = pathsToCopy.size()]() {
|
auto showProgress = [&, nrTotal = pathsToCopy.size()]() {
|
||||||
act.progress(nrDone, nrTotal, nrRunning, nrFailed);
|
act.progress(nrDone, nrTotal, nrRunning, nrFailed);
|
||||||
};
|
};
|
||||||
|
@ -259,9 +263,6 @@ void Store::addMultipleToStore(
|
||||||
return StorePathSet();
|
return StorePathSet();
|
||||||
}
|
}
|
||||||
|
|
||||||
bytesExpected += info.narSize;
|
|
||||||
act.setExpected(actCopyPath, bytesExpected);
|
|
||||||
|
|
||||||
return info.references;
|
return info.references;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue