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()
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()