diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index c1837b8..4a2fc85 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -20,6 +20,7 @@ import flask import os from math import ceil +import filelock import pygit2 from sqlalchemy.exc import SQLAlchemyError @@ -535,9 +536,20 @@ def pull_request_add_comment( except SQLAlchemyError as err: # pragma: no cover SESSION.rollback() APP.logger.exception(err) - flask.flash(str(err), 'error') if is_js: return 'error' + else: + flask.flash(str(err), 'error') + except filelock.Timeout as err: # pragma: no cover + is_js = False + SESSION.rollback() + APP.logger.exception(err) + if is_js: + return 'error' + else: + flask.flash( + 'We could not save all the info, please try again', + 'error') if is_js: return 'ok' diff --git a/pagure/ui/issues.py b/pagure/ui/issues.py index 136cfa4..eb5196a 100644 --- a/pagure/ui/issues.py +++ b/pagure/ui/issues.py @@ -21,6 +21,7 @@ import re from collections import defaultdict from math import ceil +import filelock import pygit2 import werkzeug.datastructures from sqlalchemy.exc import SQLAlchemyError @@ -327,6 +328,14 @@ def update_issue(repo, issueid, username=None, namespace=None): APP.logger.exception(err) if not is_js: flask.flash(str(err), 'error') + except filelock.Timeout as err: # pragma: no cover + is_js = False + SESSION.rollback() + APP.logger.exception(err) + if not is_js: + flask.flash( + 'We could not save all the info, please try again', + 'error') else: if is_js: return 'notok: %s' % form.errors