/**
  *
  * Purge archived Gitolite repositories
  *
  * @param Logger $logger
  *
  */
 public function purgeArchivedRepositories(Logger $logger)
 {
     if (!isset($GLOBALS['sys_file_deletion_delay'])) {
         $logger->warn("Purge of archived Gitolite repositories is disabled: sys_file_deletion_delay is missing in local.inc file");
         return;
     }
     $retention_period = intval($GLOBALS['sys_file_deletion_delay']);
     $archived_repositories = $this->repository_factory->getArchivedRepositoriesToPurge($retention_period);
     foreach ($archived_repositories as $repository) {
         try {
             $backend = $repository->getBackend();
             $backend->deletePermissions($repository);
             $logger->info('Purge of archived Gitolite repository: ' . $repository->getName());
             $backend->deleteArchivedRepository($repository);
         } catch (GitDriverErrorException $exception) {
             $logger->error($exception->getMessage());
         }
     }
 }