aboutsummaryrefslogtreecommitdiff
path: root/paludis/repositories/portage/portage_repository.cc
diff options
context:
space:
mode:
Diffstat (limited to 'paludis/repositories/portage/portage_repository.cc')
-rw-r--r--paludis/repositories/portage/portage_repository.cc13
1 files changed, 5 insertions, 8 deletions
diff --git a/paludis/repositories/portage/portage_repository.cc b/paludis/repositories/portage/portage_repository.cc
index 9fdd884..3c8da57 100644
--- a/paludis/repositories/portage/portage_repository.cc
+++ b/paludis/repositories/portage/portage_repository.cc
@@ -782,15 +782,12 @@ PortageRepository::do_sync() const
if (_imp->params.sync.empty())
return false;
- std::string::size_type p(_imp->params.sync.find("://")), q(_imp->params.sync.find(":"));
- if (std::string::npos == p)
- throw NoSuchSyncerError(_imp->params.sync);
-
+ DefaultSyncer syncer(SyncerParams::create()
+ .environment(_imp->params.environment)
+ .local(stringify(_imp->params.location))
+ .remote(_imp->params.sync));
SyncOptions opts(_imp->params.sync_exclude);
-
- SyncerMaker::get_instance()->find_maker(_imp->params.sync.substr(0, std::min(p, q)))(
- stringify(_imp->params.location),
- _imp->params.sync.substr(q < p ? q + 1 : 0))->sync(opts);
+ syncer.sync(opts);
return true;
}