/**
  * Harvest a single repository.
  *
  * @param string $target   Name of repo (used for target directory)
  * @param array  $settings Settings for the harvester.
  *
  * @return void
  * @throws \Exception
  */
 protected function harvestSingleRepository($target, $settings)
 {
     $settings['from'] = $this->opts->getOption('from');
     $settings['until'] = $this->opts->getOption('until');
     $settings['silent'] = false;
     $harvest = $this->factory->getHarvester($target, $this->getHarvestRoot(), $this->getHttpClient(), $settings);
     $harvest->launch();
 }
 /**
  * 
  * @param string $target      Name of source being harvested (used as directory
  * name for storing harvested data inside $harvestRoot)
  * @param string $harvestRoot Root directory containing harvested data.
  * @param array  $config      Additional settings
  * @param Client $client      HTTP client
  *
  * @return type
  */
 protected function getHarvester($target, $harvestRoot, $config, $client)
 {
     $factory = new HarvesterFactory();
     return $factory->getHarvester($target, $harvestRoot, $client, $config);
 }