# HG changeset patch # User Martin Bornhold # Date 2016-10-27 08:24:00 # Node ID 394d4ccb4701a475e4b9da3d4fda21d81f130c84 # Parent 1689a3fbe8b79b35cf6b10ed042de6228283df99 pr: Return proper merge response if target reference is missing. diff --git a/rhodecode/model/pull_request.py b/rhodecode/model/pull_request.py --- a/rhodecode/model/pull_request.py +++ b/rhodecode/model/pull_request.py @@ -967,8 +967,15 @@ class PullRequestModel(BaseModel): "Trying out if the pull request %s can be merged.", pull_request.pull_request_id) target_vcs = pull_request.target_repo.scm_instance() - target_ref = self._refresh_reference( - pull_request.target_ref_parts, target_vcs) + + # Refresh the target reference. + try: + target_ref = self._refresh_reference( + pull_request.target_ref_parts, target_vcs) + except CommitDoesNotExistError: + merge_state = MergeResponse( + False, False, None, MergeFailureReason.MISSING_TARGET_REF) + return merge_state target_locked = pull_request.target_repo.locked if target_locked and target_locked[0]: