Package: pagure / 5.14.1+dfsg-7

Metadata

Package Version Patches format
pagure 5.14.1+dfsg-7 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0005 update wtform validator call.patch | (download)

pagure/forms.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 fix wtforms issue

The Required validator is no longer available. This will use
DataRequired instead of Required.

0006 use markupsafe escape.patch | (download)

pagure/doc_utils.py | 9 6 + 3 - 0 !
1 file changed, 6 insertions(+), 3 deletions(-)

 'jinja2.escape' is deprecated and will be removed in
 Jinja 3.1. Import 'markupsafe.escape' instead.

0007 cgi escape removed.patch | (download)

pagure/hooks/files/git_multimail_upstream.py | 8 4 + 4 - 0 !
1 file changed, 4 insertions(+), 4 deletions(-)

 python 3.13 removes cgi

0008 fix warning 1085764.patch | (download)

pagure/hooks/files/git_multimail_upstream.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 avoid invalid escape syntaxwarning

0010 dont crash on nameless test.patch | (download)

tests/__init__.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't crash the test suite when _testmethoddoc is none

0012 chardet5.patch | (download)

pagure/lib/encoding_utils.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 accept chardet 5

0014 imp pygit2remote renamed.patch | (download)

pagure/lib/git.py | 2 1 + 1 - 0 !
tests/__init__.py | 8 4 + 4 - 0 !
tests/test_pagure_lib_git.py | 2 1 + 1 - 0 !
3 files changed, 6 insertions(+), 6 deletions(-)

 they are now called importlib and pygit2.remotes

0015 sqlalchemy relation renamed.patch | (download)

pagure/hooks/fedmsg_hook.py | 2 1 + 1 - 0 !
pagure/hooks/irc.py | 2 1 + 1 - 0 !
pagure/hooks/mail.py | 2 1 + 1 - 0 !
pagure/hooks/mirror_hook.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_ci.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_force_commit.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_hook.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_no_new_branches.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_request_hook.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_ticket_hook.py | 2 1 + 1 - 0 !
pagure/hooks/pagure_unsigned_commits.py | 2 1 + 1 - 0 !
pagure/hooks/rtd.py | 2 1 + 1 - 0 !
pagure/lib/model.py | 2 1 + 1 - 0 !
13 files changed, 13 insertions(+), 13 deletions(-)

 use new name

0016 use markupsafe markup.patch | (download)

pagure/docs_server.py | 3 2 + 1 - 0 !
pagure/ui/fas_login.py | 2 1 + 1 - 0 !
pagure/ui/oidc_login.py | 2 1 + 1 - 0 !
pagure/ui/plugins.py | 2 1 + 1 - 0 !
pagure/ui/repo.py | 3 2 + 1 - 0 !
pagure/utils.py | 3 2 + 1 - 0 !
6 files changed, 9 insertions(+), 6 deletions(-)

 flask.markup no longer exists

0017 spelling.patch | (download)

pagure/internal/__init__.py | 2 1 + 1 - 0 !
pagure/lib/git.py | 6 3 + 3 - 0 !
pagure/lib/model.py | 16 8 + 8 - 0 !
pagure/lib/query.py | 2 1 + 1 - 0 !
pagure/ui/repo.py | 2 1 + 1 - 0 !
pagure/utils.py | 2 1 + 1 - 0 !
6 files changed, 15 insertions(+), 15 deletions(-)

 fix typos and grammar

0019 create_remote removed.patch | (download)

pagure/lib/git.py | 4 2 + 2 - 0 !
tests/__init__.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_docs.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_fork.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_diff_pr.py | 2 1 + 1 - 0 !
5 files changed, 6 insertions(+), 6 deletions(-)

 stop using pygit2 repository.create_remote

Does not exist in 1.14+, replaced by Repository.remotes.create

0020 pygit2 hex oid removed.patch | (download)

dev-data.py | 4 2 + 2 - 0 !
pagure/api/fork.py | 16 8 + 8 - 0 !
pagure/api/project.py | 8 4 + 4 - 0 !
pagure/docs_server.py | 6 3 + 3 - 0 !
pagure/internal/__init__.py | 14 7 + 7 - 0 !
pagure/lib/git.py | 84 42 + 42 - 0 !
pagure/lib/tasks.py | 6 3 + 3 - 0 !
pagure/templates/commit.html | 8 4 + 4 - 0 !
pagure/templates/commits.html | 24 12 + 12 - 0 !
pagure/templates/file_history.html | 12 6 + 6 - 0 !
pagure/templates/releases.html | 8 4 + 4 - 0 !
pagure/templates/repo_comparecommits.html | 10 5 + 5 - 0 !
pagure/templates/repo_info.html | 4 2 + 2 - 0 !
pagure/templates/repo_new_pull_request.html | 6 3 + 3 - 0 !
pagure/templates/repo_pull_request.html | 12 6 + 6 - 0 !
pagure/ui/filters.py | 2 1 + 1 - 0 !
pagure/ui/fork.py | 22 11 + 11 - 0 !
pagure/ui/issues.py | 2 1 + 1 - 0 !
pagure/ui/repo.py | 42 21 + 21 - 0 !
pagure/utils.py | 4 2 + 2 - 0 !
tests/__init__.py | 16 8 + 8 - 0 !
tests/test_pagure_flask_api_project.py | 90 45 + 45 - 0 !
tests/test_pagure_flask_api_project_git_tags.py | 24 12 + 12 - 0 !
tests/test_pagure_flask_api_project_view_file.py | 14 7 + 7 - 0 !
tests/test_pagure_flask_api_ui_private_repo.py | 8 4 + 4 - 0 !
tests/test_pagure_flask_internal.py | 36 18 + 18 - 0 !
tests/test_pagure_flask_rebase.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_ui_archives.py | 6 3 + 3 - 0 !
tests/test_pagure_flask_ui_fork.py | 20 10 + 10 - 0 !
tests/test_pagure_flask_ui_issue_pr_link.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_templates.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_ui_no_master_branch.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_old_commit.py | 20 10 + 10 - 0 !
tests/test_pagure_flask_ui_remote_pr.py | 6 3 + 3 - 0 !
tests/test_pagure_flask_ui_repo.py | 90 45 + 45 - 0 !
tests/test_pagure_flask_ui_repo_flag_commit.py | 40 20 + 20 - 0 !
tests/test_pagure_flask_ui_repo_slash_name.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_view_blame.py | 6 3 + 3 - 0 !
tests/test_pagure_flask_ui_repo_view_file.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_view_history.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_ui_slash_branch_name.py | 2 1 + 1 - 0 !
tests/test_pagure_lib.py | 4 2 + 2 - 0 !
tests/test_pagure_lib_git.py | 20 10 + 10 - 0 !
tests/test_pagure_lib_git_diff_pr.py | 28 14 + 14 - 0 !
tests/test_pagure_lib_git_get_tags_objects.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_task_services.py | 2 1 + 1 - 0 !
tests/test_pagure_send_notification.py | 4 2 + 2 - 0 !
48 files changed, 377 insertions(+), 377 deletions(-)

 stop using pygit 2 .oid and .hex

(they no longer exist)

This generates approximately this patch (but isn't exactly what was used as some bugs were fixed afterwards) but needs some manual fixup

shopt -s globstar
dpkg-source --before-build .
# the first one is where we can easily tell where the str( goes - note that ([ not ]) in (1) is intentional, (3) matches either nothing or one of [0], [-1], ()
# the __str__() form is used where we can't easily tell where the str( goes, and may be manually fixed up afterwards, or in jinja templates (where the builtins aren't available but method calls are)
# ($|[^a-z]) is to avoid matching longer names that start with .oid or .hex
# peel() is an object, .target and .tree_id are oids
# assume the rest are objects (this way round as calling .id on already-an-oid will *immediately* fail) and see what complains
for f0 in pagure/templates/**/*.html ; do sed -i -E  -e 's/\.(oid|target|tree_id)\.hex($|[^a-z])/.\1.__str__()\2/g' -e 's/\.oid($|[^a-z])/.id\1/g' -e 's/\.hex($|[^a-z])/.id.__str__()\1/g' ${f0} ; done
for f0 in pagure/**/*.py tests/**/*.py dev-data.py ; do sed -i -E -e 's/([ =\[\(\{])([0-9a-zA-Z_.]+?)(\[0\]|\[-1\]|\(\)|)\.(oid|target|tree_id)\.hex/\1str(\2\3.\4)/g' -e 's/\.(oid|target|tree_id)\.hex($|[^a-z])/.\1.__str__()\2/g' -e 's/\.oid($|[^a-z])/.id\1/g' -e 's/([ =\[\(\{])([0-9a-zA-Z_.]+?)(\[0\]|\[-1\]|\(\)|)\.hex($|[^a-z])/\1str(\2\3.id)\4/g' -e 's/\.hex($|[^a-z])/.id.__str__()\1/g' ${f0} ; done
# this file uses uuid hex, undo whatever we did to that
# other places that do were fixed manually
0021 bleach now frozenset.patch | (download)

pagure/lib/query.py | 4 2 + 2 - 0 !
1 file changed, 2 insertions(+), 2 deletions(-)

 can't add list to frozenset

0022 pygit2 git_obj_commit removed.patch | (download)

tests/test_pagure_flask_api_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_view_file.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_ui_private_repo.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo.py | 6 3 + 3 - 0 !
tests/test_pagure_flask_ui_repo_view_blame.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_view_history.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_get_tags_objects.py | 2 1 + 1 - 0 !
7 files changed, 9 insertions(+), 9 deletions(-)

 stop trying to use (removed) pygit2.git_obj_commit

0023 celery no empty id.patch | (download)

pagure/lib/tasks_utils.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 don't pass empty task_id to celery

fails in celery 5.3.0+

0024 unittest renames.patch | (download)

tests/test_pagure_flask_api_project.py | 28 14 + 14 - 0 !
tests/test_pagure_flask_ui_repo.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_ui_roadmap.py | 2 1 + 1 - 0 !
tests/test_pagure_utils.py | 8 4 + 4 - 0 !
4 files changed, 21 insertions(+), 21 deletions(-)

 'assertequals' removed, replaced by 'assertequal'

0025 no markdown etree.patch | (download)

pagure/lib/query.py | 12 9 + 3 - 0 !
pagure/pfmarkdown.py | 15 8 + 7 - 0 !
tests/test_pagure_lib_encoding_utils.py | 2 1 + 1 - 0 !
3 files changed, 18 insertions(+), 11 deletions(-)

 be compatible with newer markdown

0026 error messages.patch | (download)

tests/test_pagure_flask_api.py | 3 2 + 1 - 0 !
tests/test_pagure_flask_api_issue.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_api_issue_change_status.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_pr_flag.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_api_project.py | 12 6 + 6 - 0 !
tests/test_pagure_flask_api_ui_private_repo.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_user.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues.py | 8 4 + 4 - 0 !
tests/test_pagure_flask_ui_issues_acl_checks.py | 8 4 + 4 - 0 !
tests/test_pagure_flask_ui_issues_open_access.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_ui_login.py | 2 2 + 0 - 0 !
tests/test_pagure_flask_ui_remote_pr.py | 17 15 + 2 - 0 !
tests/test_pagure_lib_git_auth.py | 2 0 + 2 - 0 !
13 files changed, 42 insertions(+), 28 deletions(-)

 expect new spelling/format of error messages

0027 dont strip None.patch | (download)

pagure/api/fork.py | 12 9 + 3 - 0 !
pagure/api/project.py | 6 4 + 2 - 0 !
pagure/ui/app.py | 6 5 + 1 - 0 !
pagure/ui/fork.py | 18 9 + 9 - 0 !
pagure/ui/issues.py | 44 27 + 17 - 0 !
pagure/ui/repo.py | 26 16 + 10 - 0 !
6 files changed, 70 insertions(+), 42 deletions(-)

 check for none before using string methods, not after

(wtforms now returns None instead of an empty string for no input)

0029 tests gitolite path.patch | (download)

tests/__init__.py | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 don't try to write somewhere that doesn't exist

0030 arrow timestamp.patch | (download)

pagure/api/user.py | 4 2 + 2 - 0 !
pagure/lib/model.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue.py | 7 3 + 4 - 0 !
3 files changed, 6 insertions(+), 7 deletions(-)

 arrow 'timestamp' property removed in >=v1.0.0

0031 chardet encoding list.patch | (download)

tests/test_pagure_lib_encoding_utils.py | 86 59 + 27 - 0 !
1 file changed, 59 insertions(+), 27 deletions(-)

 expect newer chardet output

0032 plugin name in error.patch | (download)

pagure/ui/plugins.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 actually use the name argument

Not using it raises an exception

0033 error messages2.patch | (download)

tests/test_pagure_flask_internal.py | 2 2 + 0 - 0 !
1 file changed, 2 insertions(+)

 accept new error messages

0034 error messages3.patch | (download)

tests/test_pagure_flask_ui_remote_pr.py | 22 9 + 13 - 0 !
1 file changed, 9 insertions(+), 13 deletions(-)

 accept either werkzeug error

__version__ is removed in werkzeug 3.1

0035 avoid 415 emptyjson.patch | (download)

pagure/flask_app.py | 12 12 + 0 - 0 !
tests/test_pagure_flask_api_boards.py | 7 3 + 4 - 0 !
2 files changed, 15 insertions(+), 4 deletions(-)

 don't require json to be marked as such

(in particular, this allows requests where having *any*
body data is optional)

0036 dont assume gitrepo.patch | (download)

tests/test_pagure_lib_git.py | 6 4 + 2 - 0 !
1 file changed, 4 insertions(+), 2 deletions(-)

 don't assume we're building from a git repo

read_output used git rev-list on the pagure repo
(not a small test repo) as an example of a large output

0037 emptystr vs None.patch | (download)

pagure/lib/git.py | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 none is not the empty string

0039 merge pattern seconds.patch | (download)

tests/test_pagure_flask_ui_fork.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 accept merge message with seconds count

See 5.14.1+dfsg-3 build log for failure examples

0040 path special characters.patch | (download)

tests/test_pagure_flask_ui_issues.py | 6 3 + 3 - 0 !
1 file changed, 3 insertions(+), 3 deletions(-)

 allow building in paths with version-number characters

werkzeug.secure_filename (called from add_attachment) strips out most
special characters, including some allowed in Debian version numbers

0041 tokentest timezone.patch | (download)

tests/test_pagure_flask_ui_app.py | 15 8 + 7 - 0 !
tests/test_pagure_flask_ui_repo.py | 20 12 + 8 - 0 !
2 files changed, 20 insertions(+), 15 deletions(-)

 don't fail if run in non-utc or over midnight

The default token expiration is set when pagure.forms is loaded,
not when the token is created (this is plausibly a bug,
but given the risk of introducing other bugs while trying to fix it,
I'm leaving it alone for now)

It is also today() (local time) not utcnow().

0042 plugins flaskwtfcompat.patch | (download)

pagure/api/fork.py | 14 7 + 7 - 0 !
pagure/api/issue.py | 14 7 + 7 - 0 !
pagure/api/plugins.py | 2 1 + 1 - 0 !
pagure/api/project.py | 14 7 + 7 - 0 !
pagure/internal/__init__.py | 8 4 + 4 - 0 !
5 files changed, 26 insertions(+), 26 deletions(-)

 avoid csrf errors on plugins

"csrf_enabled" is deprecated since flask-wtf v0.14,
removed in v1.0, replaced by "meta={'csrf': }"

0043 pygit2 1p17.patch | (download)

pagure/lib/tasks.py | 6 5 + 1 - 0 !
1 file changed, 5 insertions(+), 1 deletion(-)

 parentless commits no longer allowed in nonempty repos

0044 missing Location header.patch | (download)

tests/test_pagure_flask_ui_login.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 allow missing location header

0009 security.patch | (download)

pagure/lib/git.py | 12 8 + 4 - 0 !
pagure/static/vendor/chartjs/chartjs-2.9.3.js | 18 12 + 6 - 0 !
pagure/static/vendor/diff2html/diff2html-ui.js | 2 1 + 1 - 0 !
pagure/static/vendor/diff2html/diff2html.js | 17 13 + 4 - 0 !
tests/test_pagure_flask_ui_archives.py | 6 3 + 3 - 0 !
5 files changed, 37 insertions(+), 18 deletions(-)

 fix (probably minor) security issues

 - Quote non-escaping in HTML
highlightjs/highlight.js#1475, highlightjs/highlight.js#2235
Only quotes, not other characters, were left unescaped.

 - JavaScript prototype pollution
lodash/lodash#4336 = CVE-2019-10744, lodash CVE-2018-16487,
chartjs/Chart.js#7920, chartjs/Chart.js#7918
These are probably not exploitable from pagure, as the vulnerable
merge functions are used for merging configuration objects with
their defaults, and pagure only calls chartjs
0002 Fix Python shebang for various scripts.patch | (download)

createdb.py | 2 1 + 1 - 0 !
files/aclchecker.py | 2 1 + 1 - 0 !
files/api_key_expire_mail.py | 2 1 + 1 - 0 !
files/emoji_clean_json.py | 2 1 + 1 - 0 !
files/keyhelper.py | 2 1 + 1 - 0 !
files/mirror_project_in.py | 2 1 + 1 - 0 !
files/pagure_mirror_project_in.service | 2 1 + 1 - 0 !
pagure-ev/pagure_stream_server.py | 2 1 + 1 - 0 !
pagure-milters/comment_email_milter.py | 2 1 + 1 - 0 !
pagure/hooks/files/git_multimail_upstream.py | 2 1 + 1 - 0 !
pagure/hooks/files/hookrunner | 2 1 + 1 - 0 !
pagure/hooks/files/repospannerhook | 2 1 + 1 - 0 !
setup.py | 2 1 + 1 - 0 !
tests/test_fnmatch.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_acl_checks.py | 2 1 + 1 - 0 !
tests/test_stream_server.py | 2 1 + 1 - 0 !
tests/test_style.py | 2 1 + 1 - 0 !
17 files changed, 17 insertions(+), 17 deletions(-)

 fix python shebang for various scripts

Pagure ships with the "/usr/bin/env python" shebang, which doesn't
work on Debian because "python" refers to Python 2.  This patch
replaces every occurrence of this by "/usr/bin/python3".

0028 alembic no3suffix.patch | (download)

dev/containers/fedora-pip-py3 | 3 1 + 2 - 0 !
tests/test_alembic.py | 2 1 + 1 - 0 !
2 files changed, 2 insertions(+), 3 deletions(-)

 rename 'alembic-3' to 'alembic' in unit tests

0003 Adjust path of aclchecker.py.patch | (download)

pagure/default_config.py | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 adjust path of aclchecker.py

Pagure's default_config.py file contains a hardcoded path for the
aclchecker.py script which doesn't work for us (/usr/libexec,
Fedora-specific).  This patch adjusts the path to where we actually
install the script (/usr/share/pagure).

pagure-ev/pagure_ev.service is not similarly patched because
we don't install that (we use our pagure-ev-server.service instead)

0004 Adjust flask_app.py to locate template static and th.patch | (download)

pagure/flask_app.py | 12 9 + 3 - 0 !
1 file changed, 9 insertions(+), 3 deletions(-)

 adjust flask_app.py to locate template, static and theme files

On Debian, we install template, static and theme files under
/usr/share/pagure (instead of /usr/lib/python3/dist-packages/pagure,
which is upstream's default).  For that reason, we have to adjust
flask_app.py in order to make it properly locate these files.

0018 optional test depends.patch | (download)

tests/test_pagure_flask_api_issue.py | 22 20 + 2 - 0 !
tests/test_pagure_flask_api_pr_flag.py | 13 10 + 3 - 0 !
tests/test_pagure_flask_api_project.py | 12 10 + 2 - 0 !
tests/test_pagure_flask_rebase.py | 8 5 + 3 - 0 !
tests/test_pagure_flask_ui_fork.py | 48 45 + 3 - 0 !
tests/test_pagure_flask_ui_groups.py | 7 5 + 2 - 0 !
tests/test_pagure_flask_ui_issues.py | 52 50 + 2 - 0 !
tests/test_pagure_flask_ui_oidc_login.py | 9 8 + 1 - 0 !
tests/test_pagure_flask_ui_pr_edit.py | 7 5 + 2 - 0 !
tests/test_pagure_flask_ui_repo.py | 27 25 + 2 - 0 !
tests/test_pagure_flask_ui_repo_delete_project.py | 7 5 + 2 - 0 !
tests/test_pagure_lib_git_diff_pr.py | 7 5 + 2 - 0 !
12 files changed, 193 insertions(+), 26 deletions(-)

 skip tests with dependencies we don't have

0038 remove mock.patch | (download)

tests/__init__.py | 2 1 + 1 - 0 !
tests/test_pagure_admin.py | 2 1 + 1 - 0 !
tests/test_pagure_exclude_group_index.py | 2 1 + 1 - 0 !
tests/test_pagure_flask.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_auth.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_boards.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_fork.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_fork_assign.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_fork_update.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue_change_status.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue_comment.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue_create.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue_custom_fields.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_issue_update.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_plugins_install.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_plugins_remove.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_plugins_view.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_plugins_view_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_pr_flag.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_blockuser.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_contributors.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_delete_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_git_alias.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_hascommit.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_update_watch.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_project_view_file.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_ui_private_repo.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_api_user.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_docs.py | 4 2 + 2 - 0 !
tests/test_pagure_flask_dump_load_ticket.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_form.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_internal.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_rebase.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app_browse.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app_give_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app_index.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_app_userdash.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_archives.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_boards.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_clone.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_fork.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_groups.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issue_pr_link.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_acl_checks.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_open_access.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_private.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_read_only.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_issues_templates.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_login.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_no_master_branch.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_oidc_login.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_old_commit.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_plugins_default_hook.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_plugins_fedmsg.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_plugins_mirror.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_plugins_pagure_ci.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_plugins_pagure_hook.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_pr_bidi.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_pr_edit.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_pr_no_sources.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_priorities.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_quick_reply.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_remote_pr.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_delete_project.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_flag_commit.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_milestones.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_mirrored_from.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_repo_slash_name.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_roadmap.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_ui_slash_branch_name.py | 2 1 + 1 - 0 !
tests/test_pagure_flask_util.py | 2 1 + 1 - 0 !
tests/test_pagure_hooks_pagure_hook.py | 2 1 + 1 - 0 !
tests/test_pagure_lib.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_add_user_to_project.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_drop_issue.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_auth.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_auth_paguregitauth.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_diff_pr.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_git_mirror_project.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_gitolite_config.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_link.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_login.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_model.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_notify.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_notify_email.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_plugins.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_task_mirror.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_task_services.py | 2 1 + 1 - 0 !
tests/test_pagure_lib_watch_list.py | 2 1 + 1 - 0 !
tests/test_pagure_merge_pr_no_fork.py | 2 1 + 1 - 0 !
tests/test_pagure_repospanner.py | 2 1 + 1 - 0 !
tests/test_pagure_send_notification.py | 2 1 + 1 - 0 !
tests/test_pagure_utils.py | 2 1 + 1 - 0 !
tests/test_pfmarkdown.py | 2 1 + 1 - 0 !
tests/test_stream_server.py | 2 1 + 1 - 0 !
tests/test_tasks.py | 2 1 + 1 - 0 !
103 files changed, 104 insertions(+), 104 deletions(-)

 replace mock with unittest.mock

#Generated by
shopt -s globstar
dpkg-source --before-build .
for f0 in pagure/**/*.py tests/**/*.py dev-data.py ; do sed -i -E -e 's/import mock$/import unittest.mock as mock/g' -e 's/from mock import/from unittest.mock import/g' ${f0} ; done

investigate_test_failures.patch | (download)

tests/test_pagure_flask_ui_fork.py | 6 6 + 0 - 0 !
tests/test_pagure_flask_ui_issues.py | 2 2 + 0 - 0 !
tests/test_pagure_flask_ui_login.py | 3 3 + 0 - 0 !
tests/test_pagure_flask_ui_repo.py | 33 33 + 0 - 0 !
4 files changed, 44 insertions(+)

 debug output