def main(self):
     force_bzr_to_use_urllib()
     set_default_timeout_function(lambda: 60.0)
     source_details = CodeImportSourceDetails.fromArguments(self.args)
     if source_details.rcstype == 'git':
         if source_details.target_rcstype == 'bzr':
             import_worker_cls = GitImportWorker
         else:
             import_worker_cls = GitToGitImportWorker
     elif source_details.rcstype == 'bzr-svn':
         import_worker_cls = BzrSvnImportWorker
     elif source_details.rcstype == 'bzr':
         import_worker_cls = BzrImportWorker
     elif source_details.rcstype == 'cvs':
         import_worker_cls = CSCVSImportWorker
     else:
         raise AssertionError('unknown rcstype %r' % source_details.rcstype)
     opener_policy = opener_policies[self.options.access_policy](
         source_details.rcstype, source_details.target_rcstype)
     if source_details.target_rcstype == 'bzr':
         import_worker = import_worker_cls(
             source_details,
             get_transport(config.codeimport.foreign_tree_store),
             get_default_bazaar_branch_store(), self.logger, opener_policy)
     else:
         import_worker = import_worker_cls(source_details, self.logger,
                                           opener_policy)
     return import_worker.run()
Beispiel #2
0
    def getStartedJobForImport(self, code_import):
        """Get a started `CodeImportJob` for `code_import`.

        This method approves the import, creates a job, marks it started and
        returns the job.  It also makes sure there are no branches or foreign
        trees in the default stores to interfere with processing this job.
        """
        if code_import.review_status != CodeImportReviewStatus.REVIEWED:
            code_import.updateFromData(
                {'review_status': CodeImportReviewStatus.REVIEWED},
                self.factory.makePerson())
        job = getUtility(ICodeImportJobSet).getJobForMachine('machine', 10)
        self.assertEqual(code_import, job.code_import)
        source_details = CodeImportSourceDetails.fromArguments(
            removeSecurityProxy(job.makeWorkerArguments()))
        if IBranch.providedBy(code_import.target):
            clean_up_default_stores_for_import(source_details)
            self.addCleanup(clean_up_default_stores_for_import, source_details)
        return job
 def main(self):
     force_bzr_to_use_urllib()
     source_details = CodeImportSourceDetails.fromArguments(self.args)
     if source_details.rcstype == 'git':
         import_worker_cls = GitImportWorker
     elif source_details.rcstype == 'bzr-svn':
         import_worker_cls = BzrSvnImportWorker
     elif source_details.rcstype == 'bzr':
         import_worker_cls = BzrImportWorker
     elif source_details.rcstype in ['cvs', 'svn']:
         import_worker_cls = CSCVSImportWorker
     else:
         raise AssertionError(
             'unknown rcstype %r' % source_details.rcstype)
     import_worker = import_worker_cls(
         source_details,
         get_transport(config.codeimport.foreign_tree_store),
         get_default_bazaar_branch_store(), self.logger,
         opener_policies[self.options.access_policy])
     return import_worker.run()