mirror of
https://github.com/NixOS/nix.git
synced 2025-11-11 04:56:01 +01:00
Make sure references are empty for store path replacing
also copy info2 instead of casting
This commit is contained in:
parent
8974755d19
commit
be50de1142
3 changed files with 6 additions and 6 deletions
|
|
@ -595,7 +595,7 @@ void copyStorePath(ref<Store> srcStore, ref<Store> dstStore,
|
|||
uint64_t total = 0;
|
||||
|
||||
// recompute store path on the chance dstStore does it differently
|
||||
if (info->isContentAddressed(*srcStore)) {
|
||||
if (info->isContentAddressed(*srcStore) && info->references.empty()) {
|
||||
auto info2 = make_ref<ValidPathInfo>(*info);
|
||||
info2->path = dstStore->makeFixedOutputPathFromCA(info->path.name(), info->ca);
|
||||
if (dstStore->storeDir == srcStore->storeDir)
|
||||
|
|
@ -670,7 +670,7 @@ void copyPaths(ref<Store> srcStore, ref<Store> dstStore, const StorePathSet & st
|
|||
|
||||
auto info = srcStore->queryPathInfo(storePath);
|
||||
auto storePathForDst = storePath;
|
||||
if (info->isContentAddressed(*srcStore)) {
|
||||
if (info->isContentAddressed(*srcStore) && info->references.empty()) {
|
||||
storePathForDst = dstStore->makeFixedOutputPathFromCA(storePath.name(), info->ca);
|
||||
if (dstStore->storeDir == srcStore->storeDir)
|
||||
assert(storePathForDst == storePath);
|
||||
|
|
@ -697,7 +697,7 @@ void copyPaths(ref<Store> srcStore, ref<Store> dstStore, const StorePathSet & st
|
|||
auto info = srcStore->queryPathInfo(storePath);
|
||||
|
||||
auto storePathForDst = storePath;
|
||||
if (info->isContentAddressed(*srcStore)) {
|
||||
if (info->isContentAddressed(*srcStore) && info->references.empty()) {
|
||||
storePathForDst = dstStore->makeFixedOutputPathFromCA(storePath.name(), info->ca);
|
||||
if (dstStore->storeDir == srcStore->storeDir)
|
||||
assert(storePathForDst == storePath);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue