commit: 9a4cbee8916bebb51ad771a8e05e675b3b3a68b7 Author: Magnus Granberg <zorry <AT> gentoo <DOT> org> AuthorDate: Sat Oct 2 20:53:19 2021 +0000 Commit: Magnus Granberg <zorry <AT> gentoo <DOT> org> CommitDate: Sat Oct 2 20:53:19 2021 +0000 URL: https://gitweb.gentoo.org/proj/tinderbox-cluster.git/commit/?id=9a4cbee8
Use gitpython instead of pygit2 Signed-off-by: Magnus Granberg <zorry <AT> gentoo.org> buildbot_gentoo_ci/steps/repos.py | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/buildbot_gentoo_ci/steps/repos.py b/buildbot_gentoo_ci/steps/repos.py index 5b6b621..a2d46ce 100644 --- a/buildbot_gentoo_ci/steps/repos.py +++ b/buildbot_gentoo_ci/steps/repos.py @@ -2,7 +2,7 @@ # Distributed under the terms of the GNU General Public License v2 import os -import pygit2 +import git from twisted.internet import defer @@ -104,20 +104,31 @@ class CheckRepository(BuildStep): @defer.inlineCallbacks def checkRepos(self, repository_data): + success = False repository_path = yield os.path.join(self.getProperty("repository_basedir"), repository_data['name']) - repo_path = yield pygit2.discover_repository(repository_path) - print(repo_path) - if repo_path is None: - yield pygit2.clone_repository(repository_data['url'], repository_path) - success = True + try: + repo = git.Repo(repository_path) + except: + try: + yield git.Repo.clone_from(repository_data['url'], repository_path) + except: + pass + else: + repo = git.Repo(repository_path) + success = True else: - repo = yield pygit2.Repository(repo_path) - commit = repo.get(repo.head.target) - success = yield self.gitPull(repo) - print(commit.hex) - print(commit.commit_time) + try: + yield repo.git.pull() + except: + pass + else: + success = True + if success: + headcommit = repo.head.commit + print(headcommit.hexsha) + print(headcommit.committed_date) # chmod needed for ebuilds metadata portage.GetAuxMetadata step - yield self.setchmod(repository_path) + # yield self.setchmod(repository_path) return success @defer.inlineCallbacks @@ -140,8 +151,6 @@ class CheckRepository(BuildStep): if Poller_data['updated_at'] > self.getProperty("commit_time"): return SKIPPED success = yield self.checkRepos(repository_data) - if success is None: - return SKIPPED if not success: return FAILURE if repository_data['type'] == 'gitpuller':