def import_repository(url, branch=None, temp_dir=None, logger=None): with git.make_clone_dir(temp_dir) as clone_dir: try: git.clone_repository(url, clone_dir, branch=branch) except Exception as e: raise exc.RepositoryError(e) return load_repository(clone_dir, logger)
def _validate_metadata_role_name(self, metadata_role_name): """Validate meta/main.yml role_name. If role is not new, and metadata_role_name matches existing name, then do not validate. This allows legacy role names with dashes. """ if not metadata_role_name: return if self.repo_obj.content_objects.filter(): role_obj = self.repo_obj.content_objects.get() if getattr(role_obj, 'name') == metadata_role_name: self.log.debug('metadata role_name matches existing role name') return if not re.match(constants.NAME_REGEXP, metadata_role_name): raise exc.RepositoryError( 'meta/main.yml role_name does not match NAME_REGEXP')