def perform
      git.if_clean do
        check_out_branch
        merge_pull_request
        comment_about_merge
      end
    rescue => e
      case e
      when GitHub::PullRequest::NotFound
        cli.say "Unable to find pull request #{pull_request_id}. Please retry with a valid ID."
      when Git::MergeFailed
        cli.say "Merge failed. Please identify the source of this merge conflict resolve this conflict in your pull request's branch. NOTE: Merge conflicts resolved in the #{branch_type} branch are NOT used when deploying."
      when Git::CheckoutFailed
        cli.say "Checkout of #{branch_to_merge_into} failed. Please contact Infrastructure to determine the cause."
      when GitHub::PullRequest::CommentFailed
        cli.say "Unable to write comment. Please navigate to #{pull_request.url} and add the comment, '#{comment_body}'"
      else
        cli.say "An unknown error occurred: #{e.inspect}"
      end
      raise
    end
def perform
      git.if_clean do
        check_out_branch
        merge_pull_request
        comment_about_merge
      end
    rescue => e
      case e
      when GitHub::PullRequest::NotFound
        cli.say "Unable to find pull request #{pull_request_id}. Please retry with a valid ID."
      when Git::MergeFailed
        cli.say "Merge failed. Please identify the source of this merge conflict resolve this conflict in your pull request's branch. NOTE: Merge conflicts resolved in the #{branch_type} branch are NOT used when deploying."
      when Git::CheckoutFailed
        cli.say "Checkout of #{branch_to_merge_into} failed. Please contact Infrastructure to determine the cause."
      when GitHub::PullRequest::CommentFailed
        cli.say "Unable to write comment. Please navigate to #{pull_request.url} and add the comment, '#{comment_body}'"
      else
        cli.say "An unknown error occurred: #{e.inspect}"
      end
      raise
    end
Public: Create the branch and handle related processing