From 80e2e5b09215403a07f963bb2ab83940f19c9cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kriszti=C3=A1n=20Sz=C5=B1cs?= Date: Thu, 24 Oct 2019 14:31:02 +0200 Subject: [PATCH] better error if pygit2 is missing [skip ci] --- dev/tasks/crossbow.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/dev/tasks/crossbow.py b/dev/tasks/crossbow.py index 56f8821f8f720..f6d992e9823f9 100755 --- a/dev/tasks/crossbow.py +++ b/dev/tasks/crossbow.py @@ -43,10 +43,8 @@ try: import pygit2 except ImportError: - PygitRepository = str PygitRemoteCallbacks = object else: - PygitRepository = pygit2.Repository PygitRemoteCallbacks = pygit2.RemoteCallbacks @@ -260,10 +258,10 @@ class Repo: def __init__(self, path, github_token=None, remote_url=None, require_https=False): self.path = Path(path) - self.repo = PygitRepository(str(self.path)) self.github_token = github_token self.require_https = require_https self._remote_url = remote_url + self._pygit_repo = None self._github_repo = None # set by as_github_repo() self._updated_refs = [] @@ -278,6 +276,12 @@ def __str__(self): head=self.head ) + @property + def repo(self): + if self._pygit_repo is None: + self._pygit_repo = pygit2.Repository(str(self.path)) + return self._pygit_repo + @property def origin(self): remote = self.repo.remotes['origin']