+ Add support for !owner to the API listing projects + Make sure that TemporaryClone.push also pushes tags + Various UI improvements + Allow blocking an user on a project + Replace calls to pygit2.clone_repository by calls to git clone directly + Make fork more performant by using 'git push --mirror' + Use the user's default email when rebasing - Drop patch that is part of this release + 0001-pagure-ev-python-3-compatibility.patch - Backport fix for pull mirroring service + 0001-Couple-of-fixes-for-the-mirroring-in-feature.patch OBS-URL: https://build.opensuse.org/package/show/devel:tools:scm/pagure?expand=0&rev=19
53 lines
1.9 KiB
Diff
53 lines
1.9 KiB
Diff
From cea8e24f3eb1280c88230981ef624d0f0b9e638c Mon Sep 17 00:00:00 2001
|
|
From: Pierre-Yves Chibon <pingou@pingoured.fr>
|
|
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 <pingou@pingoured.fr>
|
|
---
|
|
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
|
|
|