diff --git a/pagure/internal/__init__.py b/pagure/internal/__init__.py index 003d58a..7d2db13 100644 --- a/pagure/internal/__init__.py +++ b/pagure/internal/__init__.py @@ -205,9 +205,13 @@ def mergeable_request_pull(): try: branch_ref = new_repo.lookup_reference( request.branch).resolve() - except ValueError: - branch_ref = new_repo.lookup_reference( - 'refs/heads/%s' % request.branch).resolve() + except (ValueError, KeyError): + try: + branch_ref = new_repo.lookup_reference( + 'refs/heads/%s' % request.branch).resolve() + except (ValueError, KeyError): + branch_ref = new_repo.lookup_reference( + 'remote/origin/%s' % request.branch).resolve() refname = '%s:%s' % (branch_ref.name, branch_ref.name) if ( diff --git a/pagure/lib/git.py b/pagure/lib/git.py index 4ae7cbb..1b41c9d 100644 --- a/pagure/lib/git.py +++ b/pagure/lib/git.py @@ -770,9 +770,13 @@ def merge_pull_request(session, repo, request, username, request_folder): try: branch_ref = new_repo.lookup_reference( request.branch).resolve() - except ValueError: - branch_ref = new_repo.lookup_reference( - 'refs/heads/%s' % request.branch).resolve() + except (ValueError, KeyError): + try: + branch_ref = new_repo.lookup_reference( + 'refs/heads/%s' % request.branch).resolve() + except (ValueError, KeyError): + branch_ref = new_repo.lookup_reference( + 'remote/origin/%s' % request.branch).resolve() refname = '%s:%s' % (branch_ref.name, branch_ref.name) if (