Accepting request 692603 from devel:tools:scm
- Update to 5.5 + 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/request/show/692603 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/pagure?expand=0&rev=8
This commit is contained in:
commit
688ca9d2f7
52
0001-Couple-of-fixes-for-the-mirroring-in-feature.patch
Normal file
52
0001-Couple-of-fixes-for-the-mirroring-in-feature.patch
Normal file
@ -0,0 +1,52 @@
|
|||||||
|
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
|
||||||
|
|
@ -1,63 +0,0 @@
|
|||||||
From 47a9abb72e96fac3b03ecefb021a4ec1e8fc95f3 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Julen Landa Alustiza <jlanda@fedoraproject.org>
|
|
||||||
Date: Thu, 14 Mar 2019 12:56:06 +0100
|
|
||||||
Subject: [PATCH] pagure-ev: python 3 compatibility
|
|
||||||
|
|
||||||
---
|
|
||||||
pagure-ev/pagure_stream_server.py | 12 ++++++------
|
|
||||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/pagure-ev/pagure_stream_server.py b/pagure-ev/pagure_stream_server.py
|
|
||||||
index 0e4a99a1..4439c917 100644
|
|
||||||
--- a/pagure-ev/pagure_stream_server.py
|
|
||||||
+++ b/pagure-ev/pagure_stream_server.py
|
|
||||||
@@ -26,7 +26,7 @@ import os
|
|
||||||
|
|
||||||
|
|
||||||
import redis
|
|
||||||
-from trololio import asyncio as trololio
|
|
||||||
+import trololio
|
|
||||||
|
|
||||||
from six.moves.urllib.parse import urlparse
|
|
||||||
|
|
||||||
@@ -137,7 +137,7 @@ def handle_client(client_reader, client_writer):
|
|
||||||
data = None
|
|
||||||
while True:
|
|
||||||
# give client a chance to respond, timeout after 10 seconds
|
|
||||||
- line = yield trololio.From(trololio.wait_for(
|
|
||||||
+ line = yield trololio.From(trololio.asyncio.wait_for(
|
|
||||||
client_reader.readline(),
|
|
||||||
timeout=10.0))
|
|
||||||
if not line.decode().strip():
|
|
||||||
@@ -199,7 +199,7 @@ def handle_client(client_reader, client_writer):
|
|
||||||
oncall = 0
|
|
||||||
oncall += 1
|
|
||||||
yield trololio.From(client_writer.drain())
|
|
||||||
- yield trololio.From(trololio.sleep(1))
|
|
||||||
+ yield trololio.From(trololio.asyncio.sleep(1))
|
|
||||||
else:
|
|
||||||
log.info("Sending %s", msg['data'])
|
|
||||||
client_writer.write(('data: %s\n\n' % msg['data']).encode())
|
|
||||||
@@ -243,8 +243,8 @@ def main():
|
|
||||||
_get_session()
|
|
||||||
|
|
||||||
try:
|
|
||||||
- loop = trololio.get_event_loop()
|
|
||||||
- coro = trololio.start_server(
|
|
||||||
+ loop = trololio.asyncio.get_event_loop()
|
|
||||||
+ coro = trololio.asyncio.start_server(
|
|
||||||
handle_client,
|
|
||||||
host=None,
|
|
||||||
port=pagure.config.config['EVENTSOURCE_PORT'],
|
|
||||||
@@ -253,7 +253,7 @@ def main():
|
|
||||||
log.info(
|
|
||||||
'Serving server at {}'.format(SERVER.sockets[0].getsockname()))
|
|
||||||
if pagure.config.config.get('EV_STATS_PORT'):
|
|
||||||
- stats_coro = trololio.start_server(
|
|
||||||
+ stats_coro = trololio.asyncio.start_server(
|
|
||||||
stats,
|
|
||||||
host=None,
|
|
||||||
port=pagure.config.config.get('EV_STATS_PORT'),
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:d7e520ccbad15a7447fa1add72419ce793a3f8482ef55426ecbdbad5ecc61532
|
|
||||||
size 21884635
|
|
3
pagure-5.5.tar.gz
Normal file
3
pagure-5.5.tar.gz
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
version https://git-lfs.github.com/spec/v1
|
||||||
|
oid sha256:814841db86fd6199b42a48e636cb920b86f9666148d806a387735f2f327817ba
|
||||||
|
size 21716088
|
@ -1,3 +1,19 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Tue Apr 9 12:52:31 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
|
||||||
|
|
||||||
|
- Update to 5.5
|
||||||
|
+ 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
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Fri Mar 29 13:50:54 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
|
Fri Mar 29 13:50:54 UTC 2019 - Neal Gompa <ngompa13@gmail.com>
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
|
|
||||||
|
|
||||||
Name: pagure
|
Name: pagure
|
||||||
Version: 5.4
|
Version: 5.5
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: A git-centered forge
|
Summary: A git-centered forge
|
||||||
Group: Development/Tools/Version Control
|
Group: Development/Tools/Version Control
|
||||||
@ -41,8 +41,8 @@ Source1: https://raw.githubusercontent.com/fedora-infra/python-fedora
|
|||||||
Source10: pagure-README.SUSE
|
Source10: pagure-README.SUSE
|
||||||
|
|
||||||
# Backports from upstream
|
# Backports from upstream
|
||||||
## Fix for pagure-ev issues in Python 3
|
## Fix pull mirror service functionality
|
||||||
Patch0001: 0001-pagure-ev-python-3-compatibility.patch
|
Patch0001: 0001-Couple-of-fixes-for-the-mirroring-in-feature.patch
|
||||||
|
|
||||||
# Not yet upstreamable patches
|
# Not yet upstreamable patches
|
||||||
## Allow Pagure to use SQLAlchemy >= 1.3.0
|
## Allow Pagure to use SQLAlchemy >= 1.3.0
|
||||||
|
Loading…
x
Reference in New Issue
Block a user