aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-30 12:50:46 +0100
committerAvatar Ciaran McCreesh <ciaran.mccreesh@googlemail.com> 2010-07-30 12:50:46 +0100
commitb0f84b095b1a9423673fd77049ed69d122a80843 (patch)
tree88d6328865c6d8e556b15c2f66d3e666c1963685
parentf1e76c3470d6d4a4ddb88636bdd7fe80725356ed (diff)
downloadpaludis-b0f84b095b1a9423673fd77049ed69d122a80843.tar.gz
paludis-b0f84b095b1a9423673fd77049ed69d122a80843.tar.xz
cave resolve --fetch
Fixes: ticket:839
-rw-r--r--src/clients/cave/cmd_execute_resolution.cc5
-rw-r--r--src/clients/cave/cmd_resolve_cmdline.cc2
-rw-r--r--src/clients/cave/cmd_resolve_cmdline.hh2
3 files changed, 7 insertions, 2 deletions
diff --git a/src/clients/cave/cmd_execute_resolution.cc b/src/clients/cave/cmd_execute_resolution.cc
index 7b44d44..531f519 100644
--- a/src/clients/cave/cmd_execute_resolution.cc
+++ b/src/clients/cave/cmd_execute_resolution.cc
@@ -601,7 +601,7 @@ namespace
const std::shared_ptr<Environment> & env,
const ExecuteResolutionCommandLine & cmdline)
{
- if (cmdline.execution_options.a_preserve_world.specified())
+ if (cmdline.execution_options.a_preserve_world.specified() || cmdline.execution_options.a_fetch.specified())
return;
cout << endl << c::bold_green() << "Updating world" << c::normal() << endl << endl;
@@ -1200,6 +1200,9 @@ namespace
}
}
+ if (want && cmdline.execution_options.a_fetch.specified())
+ want = simple_visitor_cast<const FetchJob>(*job);
+
int current_global_retcode;
{
Lock lock(global_retcode_mutex);
diff --git a/src/clients/cave/cmd_resolve_cmdline.cc b/src/clients/cave/cmd_resolve_cmdline.cc
index 16b8da4..5307962 100644
--- a/src/clients/cave/cmd_resolve_cmdline.cc
+++ b/src/clients/cave/cmd_resolve_cmdline.cc
@@ -311,6 +311,8 @@ ResolveCommandLineExecutionOptions::ResolveCommandLineExecutionOptions(args::Arg
"specified, then 'cave resume' can resume execution from this file."),
g_jobs_options(this, "Jobs Options", "Options controlling jobs and parallelism."),
+ a_fetch(&g_jobs_options, "fetch", 'f', "Skip any jobs that are not fetch jobs. Should be combined with "
+ "--continue-on-failure if any of the packages to be merged have fetch dependencies.", true),
a_fetch_jobs(&g_jobs_options, "fetch-jobs", 'J', "The number of parallel fetch jobs to launch. If set to 0, fetches "
"will be carried out sequentially with other jobs. Values higher than 1 are currently treated "
"as being 1. Defaults to 1."),
diff --git a/src/clients/cave/cmd_resolve_cmdline.hh b/src/clients/cave/cmd_resolve_cmdline.hh
index e23b337..a2adadb 100644
--- a/src/clients/cave/cmd_resolve_cmdline.hh
+++ b/src/clients/cave/cmd_resolve_cmdline.hh
@@ -97,7 +97,6 @@ namespace paludis
args::EnumArg a_make;
args::EnumArg a_make_dependencies;
args::StringSetArg a_via_binary;
-// args::SwitchArg a_fetch;
#endif
// args::ArgsGroup g_query_options;
@@ -127,6 +126,7 @@ namespace paludis
args::StringArg a_resume_file;
args::ArgsGroup g_jobs_options;
+ args::SwitchArg a_fetch;
args::IntegerArg a_fetch_jobs;
args::ArgsGroup g_phase_options;