Author: jkupec Date: Fri Sep 19 13:10:57 2008 New Revision: 11101 URL: http://svn.opensuse.org/viewcvs/zypp?rev=11101&view=rev Log: - refresh-services: don't refresh non-service repositories by default - --no-repos/-R replaced by --with-repos/-r Modified: trunk/zypper/src/Zypper.cc trunk/zypper/src/repos.cc Modified: trunk/zypper/src/Zypper.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/Zypper.cc?rev=11101&r1=11100&r2=11101&view=diff ============================================================================== --- trunk/zypper/src/Zypper.cc (original) +++ trunk/zypper/src/Zypper.cc Fri Sep 19 13:10:57 2008 @@ -1126,7 +1126,7 @@ { static struct option options[] = { {"help", no_argument, 0, 'h'}, - {"no-repos", no_argument, 0, 'R'}, + {"with-repos", no_argument, 0, 'r'}, {0, 0, 0, 0} }; specific_options = options; @@ -1136,7 +1136,7 @@ "Refresh defined repository index services.\n" "\n" " Command options:\n" - "-R, --no-repos Do not refresh non-index services (plain repositories).\n" + "-r, --with-repos Refresh also repositories.\n" ); break; } Modified: trunk/zypper/src/repos.cc URL: http://svn.opensuse.org/viewcvs/zypp/trunk/zypper/src/repos.cc?rev=11101&r1=11100&r2=11101&view=diff ============================================================================== --- trunk/zypper/src/repos.cc (original) +++ trunk/zypper/src/repos.cc Fri Sep 19 13:10:57 2008 @@ -2061,14 +2061,14 @@ // print also repos belonging to the service if (with_repos && dynamic_pointer_cast<ServiceInfo>(*it)) { - // indicate we repos of the current service + // indicate that we print repos of the current service flags |= SF_SERVICE_REPO; RepoCollector collector; RepoManager rm(zypper.globalOpts().rm_options); rm.getRepositoriesInService((*it)->alias(), - boost::make_function_output_iterator( + make_function_output_iterator( bind(&RepoCollector::collect, &collector, _1))); for_(repoit, collector.repos.begin(), collector.repos.end()) @@ -2131,7 +2131,7 @@ RepoCollector collector; RepoManager rm(zypper.globalOpts().rm_options); rm.getRepositoriesInService((*it)->alias(), - boost::make_function_output_iterator( + make_function_output_iterator( bind(&RepoCollector::collect, &collector, _1))); ostringstream sout; for_(repoit, collector.repos.begin(), collector.repos.end()) @@ -2316,7 +2316,6 @@ // ...as command arguments get_services(zypper, zypper.arguments().begin(), zypper.arguments().end(), specified, not_found); - // ...as --repo options report_unknown_services(zypper.out(), not_found); unsigned error_count = 0; @@ -2330,6 +2329,7 @@ ++number; RepoInfoBase_Ptr service_ptr(*sit); + // skip services not specified on the command line if (!specified.empty()) { bool found = false; @@ -2369,14 +2369,28 @@ bool error = false; ServiceInfo_Ptr s = dynamic_pointer_cast<ServiceInfo>(service_ptr); if (s) + { error = refresh_service(zypper, *s); + + // refresh also service's repos + if (zypper.cOpts().count("with-repos") || !zypper.globalOpts().is_rug_compatible) + { + RepoCollector collector; + RepoManager rm(zypper.globalOpts().rm_options); + rm.getRepositoriesInService(s->alias(), + make_function_output_iterator( + bind(&RepoCollector::collect, &collector, _1))); + for_(repoit, collector.repos.begin(), collector.repos.end()) + refresh_repo(zypper, *repoit); + } + } else { - if (zypper.cOpts().count("no-repos")) + if (!zypper.cOpts().count("with-repos") && !zypper.globalOpts().is_rug_compatible) { - zypper.out().info(str::form( + DBG << str::form( "Skipping non-index service '%s' because '%s' is used.", - service_ptr->name().c_str(), "--no-repos")); + service_ptr->name().c_str(), "--no-repos"); continue; } error = refresh_repo(zypper, *dynamic_pointer_cast<RepoInfo>(service_ptr)); -- To unsubscribe, e-mail: zypp-commit+unsubscribe@opensuse.org For additional commands, e-mail: zypp-commit+help@opensuse.org