Doesn't import GitHub PR where branches were no longer available

parent f19bf0ea
......@@ -52,19 +52,18 @@ module Gitlab
client.pull_requests(project.import_source, state: :all,
sort: :created,
direction: :asc).each do |pull_request|
body = @formatter.author_line(pull_request.user.login)
body += pull_request.body || ""
source_branch = pull_request.head.ref
target_branch = pull_request.base.ref
source_branch = find_branch(pull_request.head.ref)
target_branch = find_branch(pull_request.base.ref)
if source_branch && target_branch
# Pull Request
merge_request = MergeRequest.create!(
title: pull_request.title,
description: body,
description: format_body(pull_request.user.login, pull_request.body),
source_project: project,
source_branch: source_branch,
source_branch: source_branch.name,
target_project: project,
target_branch: target_branch,
target_branch: target_branch.name,
state: merge_request_state(pull_request),
author_id: gl_author_id(project, pull_request.user.id),
assignee_id: gl_user_id(pull_request.assignee.try(:id)),
......@@ -72,6 +71,7 @@ module Gitlab
updated_at: pull_request.updated_at
)
# Comments on Pull Request
client.issue_comments(project.import_source, pull_request.number).each do |c|
merge_request.notes.create!(
project: project,
......@@ -82,6 +82,7 @@ module Gitlab
)
end
# Comments on Pull Request diff
client.pull_request_comments(project.import_source, pull_request.number).each do |c|
merge_request.notes.create!(
project: project,
......@@ -95,6 +96,11 @@ module Gitlab
end
end
end
end
def find_branch(name)
project.repository.find_branch(name)
end
def format_body(author, body)
@formatter.author_line(author) + (body || "")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment