From cea8e24f3eb1280c88230981ef624d0f0b9e638c Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Mon, 8 Apr 2019 11:57:21 +0200 Subject: [PATCH] Couple of fixes for the mirroring-in feature This commit does a couple of fixes in the code used for the mirroring-in feature. It ensures any exception thrown by pagure.lib.git.mirror_pull_project are caught and properly logged. Otherwise, the script dies in the middle of the processing. It also checks that there is a remote before doing anything and if there is no remote, it just bails. Signed-off-by: Pierre-Yves Chibon --- files/mirror_project_in.py | 5 ++++- pagure/lib/git.py | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/files/mirror_project_in.py b/files/mirror_project_in.py index cfca629b..ba04f2fc 100644 --- a/files/mirror_project_in.py +++ b/files/mirror_project_in.py @@ -34,7 +34,10 @@ def main(check=False, debug=False): for project in projects: if debug: print("Mirrorring %s" % project.fullname) - pagure.lib.git.mirror_pull_project(session, project, debug=debug) + try: + pagure.lib.git.mirror_pull_project(session, project, debug=debug) + except Exception as err: + print("ERROR: %s" % err) session.remove() if debug: diff --git a/pagure/lib/git.py b/pagure/lib/git.py index 31253c11..c0e6d023 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -2846,6 +2846,9 @@ def generate_archive(project, commit, tag, name, archive_fmt): def mirror_pull_project(session, project, debug=False): """ Mirror locally a project from a remote URL. """ remote = project.mirrored_from + if not remote: + _log.info("No remote found, ignoring") + return repopath = tempfile.mkdtemp(prefix="pagure-mirror_in-") lclrepopath = pagure.utils.get_repo_path(project) -- 2.20.1