# from here on, only one repository is possible
    # create a repository instance
    repository = Repository(config, database, config.get('repository-url'), config.get('cache-dir'))
    repository.handle_update(True, log_data)
    # from here on a local copy of the repository is available

    # create a list of all jobs
    jobs = []
    for branch in config.get('build-branch'):
        job = {}
        job['added_ts'] = int(time.time())
        job['repository'] = config.get('repository-url')
        job['repository_type'] = repository.repository_type
        job['branch'] = branch
        if (config.get('build-revision') == 'HEAD'):
            job['revision'] = repository.repository_head(repository.full_path, branch)
            job['is_head'] = True
        else:
            job['revision'] = config.get('build-revision')
            job['is_head'] = False

        job['extra-configure'] = config.get('extra-configure')
        job['extra-make'] = config.get('extra-make')
        job['extra-install'] = config.get('extra-install')
        job['extra-tests'] = config.get('extra-tests')
        job['run-extra-targets'] = config.get('test-extra-targets')
        job['test-locales'] = config.get('test-locales')

        # create one job with Orca=off in any case, just to ensure that we test this case
        job['orca'] = False
        jobs.append(job)