diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-04 23:16:18 +0000 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2020-08-04 23:16:18 +0000 |
commit | 36dd7920a2ec671c8610cdc4e4a8866ec90675db (patch) | |
tree | b6ceebe1369524c9c09e52b9540984fc6a208685 /src/libstore/store-api.cc | |
parent | 0e9e599b00ff3cd23541ed911aa0932f4ab2cef7 (diff) | |
parent | 5b22a2c0d443ce1156f361af2dcb142d270daa6c (diff) |
Merge remote-tracking branch 'upstream/master' into path-info
Diffstat (limited to 'src/libstore/store-api.cc')
-rw-r--r-- | src/libstore/store-api.cc | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc index 62feb388a..1a28386ef 100644 --- a/src/libstore/store-api.cc +++ b/src/libstore/store-api.cc @@ -239,6 +239,20 @@ StorePath Store::computeStorePathForText(const string & name, const string & s, } +StorePath Store::addToStore(const string & name, const Path & _srcPath, + FileIngestionMethod method, HashType hashAlgo, PathFilter & filter, RepairFlag repair) +{ + Path srcPath(absPath(_srcPath)); + auto source = sinkToSource([&](Sink & sink) { + if (method == FileIngestionMethod::Recursive) + dumpPath(srcPath, sink, filter); + else + readFile(srcPath, sink); + }); + return addToStoreFromDump(*source, name, method, hashAlgo, repair); +} + + /* The aim of this function is to compute in one pass the correct ValidPathInfo for the files that we are trying to add to the store. To accomplish that in one |