Don’t use FileIngestionMethod for StorePathsCommand

This is a different recursive than used in makeFixedOutputPath.
This commit is contained in:
Matthew Bauer 2020-05-27 13:11:45 -05:00
parent b90241ceb1
commit 7873fd175d
3 changed files with 8 additions and 8 deletions

View file

@ -31,21 +31,21 @@ void StoreCommand::run()
run(getStore());
}
StorePathsCommand::StorePathsCommand(FileIngestionMethod recursive)
StorePathsCommand::StorePathsCommand(bool recursive)
: recursive(recursive)
{
if (recursive == FileIngestionMethod::Recursive)
if (recursive)
addFlag({
.longName = "no-recursive",
.description = "apply operation to specified paths only",
.handler = {&this->recursive, FileIngestionMethod::Flat},
.handler = {&this->recursive, false},
});
else
addFlag({
.longName = "recursive",
.shortName = 'r',
.description = "apply operation to closure of the specified paths",
.handler = {&this->recursive, FileIngestionMethod::Recursive},
.handler = {&this->recursive, true},
});
mkFlag(0, "all", "apply operation to the entire store", &all);
@ -66,7 +66,7 @@ void StorePathsCommand::run(ref<Store> store)
for (auto & p : toStorePaths(store, realiseMode, installables))
storePaths.push_back(p.clone());
if (recursive == FileIngestionMethod::Recursive) {
if (recursive) {
StorePathSet closure;
store->computeFSClosure(storePathsToSet(storePaths), closure, false, false);
storePaths.clear();

View file

@ -92,7 +92,7 @@ struct StorePathsCommand : public InstallablesCommand
{
private:
FileIngestionMethod recursive = FileIngestionMethod::Flat;
bool recursive = false;
bool all = false;
protected:
@ -101,7 +101,7 @@ protected:
public:
StorePathsCommand(FileIngestionMethod recursive = FileIngestionMethod::Flat);
StorePathsCommand(bool recursive = false);
using StoreCommand::run;

View file

@ -17,7 +17,7 @@ struct CmdCopy : StorePathsCommand
SubstituteFlag substitute = NoSubstitute;
CmdCopy()
: StorePathsCommand(FileIngestionMethod::Recursive)
: StorePathsCommand(true)
{
addFlag({
.longName = "from",