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()); run(getStore());
} }
StorePathsCommand::StorePathsCommand(FileIngestionMethod recursive) StorePathsCommand::StorePathsCommand(bool recursive)
: recursive(recursive) : recursive(recursive)
{ {
if (recursive == FileIngestionMethod::Recursive) if (recursive)
addFlag({ addFlag({
.longName = "no-recursive", .longName = "no-recursive",
.description = "apply operation to specified paths only", .description = "apply operation to specified paths only",
.handler = {&this->recursive, FileIngestionMethod::Flat}, .handler = {&this->recursive, false},
}); });
else else
addFlag({ addFlag({
.longName = "recursive", .longName = "recursive",
.shortName = 'r', .shortName = 'r',
.description = "apply operation to closure of the specified paths", .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); 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)) for (auto & p : toStorePaths(store, realiseMode, installables))
storePaths.push_back(p.clone()); storePaths.push_back(p.clone());
if (recursive == FileIngestionMethod::Recursive) { if (recursive) {
StorePathSet closure; StorePathSet closure;
store->computeFSClosure(storePathsToSet(storePaths), closure, false, false); store->computeFSClosure(storePathsToSet(storePaths), closure, false, false);
storePaths.clear(); storePaths.clear();

View file

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

View file

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