From 99d0d482ed4bb587685bdd0ce0d56f3acf537088 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Jul 01 2015 13:52:18 +0000 Subject: Handle PR closed but not merged In these cases repo.walk() may not be able to find the desired commit --- diff --git a/pagure/ui/fork.py b/pagure/ui/fork.py index 18e957d..67f1025 100644 --- a/pagure/ui/fork.py +++ b/pagure/ui/fork.py @@ -136,10 +136,14 @@ def request_pull(repo, requestid, username=None): # Closed pull-request if request.status != 'Open': commitid = request.commit_stop - for commit in repo_obj.walk(commitid, pygit2.GIT_SORT_TIME): - diff_commits.append(commit) - if commit.oid.hex == request.commit_start: - break + try: + for commit in repo_obj.walk(commitid, pygit2.GIT_SORT_TIME): + diff_commits.append(commit) + if commit.oid.hex == request.commit_start: + break + except KeyError: + # This happens when repo.walk() cannot find commitid + pass if diff_commits: diff = repo_obj.diff(