aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/libstore/content-address.cc3
-rw-r--r--src/libstore/make-content-addressed.cc14
2 files changed, 10 insertions, 7 deletions
diff --git a/src/libstore/content-address.cc b/src/libstore/content-address.cc
index a98e34cb8..a51646d0f 100644
--- a/src/libstore/content-address.cc
+++ b/src/libstore/content-address.cc
@@ -17,8 +17,9 @@ std::string makeFileIngestionPrefix(FileIngestionMethod m)
return "";
case FileIngestionMethod::Recursive:
return "r:";
+ default:
+ throw Error("impossible, caught both cases");
}
- assert(false);
}
std::string makeFixedOutputCA(FileIngestionMethod method, const Hash & hash)
diff --git a/src/libstore/make-content-addressed.cc b/src/libstore/make-content-addressed.cc
index 3ee64c77a..ff9f5cdaa 100644
--- a/src/libstore/make-content-addressed.cc
+++ b/src/libstore/make-content-addressed.cc
@@ -31,12 +31,14 @@ std::map<StorePath, StorePath> makeContentAddressed(
for (auto & ref : oldInfo->references) {
if (ref == path)
refs.self = true;
- auto i = remappings.find(ref);
- auto replacement = i != remappings.end() ? i->second : ref;
- // FIXME: warn about unremapped paths?
- if (replacement != ref) {
- rewrites.insert_or_assign(srcStore.printStorePath(ref), srcStore.printStorePath(replacement));
- refs.others.insert(std::move(replacement));
+ else {
+ auto i = remappings.find(ref);
+ auto replacement = i != remappings.end() ? i->second : ref;
+ // FIXME: warn about unremapped paths?
+ if (replacement != ref) {
+ rewrites.insert_or_assign(srcStore.printStorePath(ref), srcStore.printStorePath(replacement));
+ refs.others.insert(std::move(replacement));
+ }
}
}