diff options
author | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
---|---|---|
committer | GitLab Bot <gitlab-bot@gitlab.com> | 2021-03-16 21:18:33 +0300 |
commit | f64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch) | |
tree | a2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /lib/gitlab/github_import | |
parent | bfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (diff) |
Add latest changes from gitlab-org/gitlab@13-10-stable-eev13.10.0-rc40
Diffstat (limited to 'lib/gitlab/github_import')
-rw-r--r-- | lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb | 33 | ||||
-rw-r--r-- | lib/gitlab/github_import/importer/pull_request_review_importer.rb | 18 |
2 files changed, 35 insertions, 16 deletions
diff --git a/lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb b/lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb index 11181edf0e9..8173fdd5e3e 100644 --- a/lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb +++ b/lib/gitlab/github_import/importer/pull_request_merged_by_importer.rb @@ -12,25 +12,27 @@ module Gitlab def execute merge_request = project.merge_requests.find_by_iid(pull_request.iid) + timestamp = Time.new.utc + merged_at = pull_request.merged_at user_finder = GithubImport::UserFinder.new(project, client) gitlab_user_id = user_finder.user_id_for(pull_request.merged_by) - if gitlab_user_id - timestamp = Time.new.utc - MergeRequest::Metrics.upsert({ - target_project_id: project.id, - merge_request_id: merge_request.id, - merged_by_id: gitlab_user_id, - created_at: timestamp, - updated_at: timestamp - }, unique_by: :merge_request_id) - else + MergeRequest::Metrics.upsert({ + target_project_id: project.id, + merge_request_id: merge_request.id, + merged_by_id: gitlab_user_id, + merged_at: merged_at, + created_at: timestamp, + updated_at: timestamp + }, unique_by: :merge_request_id) + + unless gitlab_user_id merge_request.notes.create!( importing: true, - note: "*Merged by: #{pull_request.merged_by.login}*", + note: missing_author_note, author_id: project.creator_id, project: project, - created_at: pull_request.created_at + created_at: merged_at ) end end @@ -38,6 +40,13 @@ module Gitlab private attr_reader :project, :pull_request, :client + + def missing_author_note + s_("GitHubImporter|*Merged by: %{author} at %{timestamp}*") % { + author: pull_request.merged_by.login, + timestamp: pull_request.merged_at + } + end end end end diff --git a/lib/gitlab/github_import/importer/pull_request_review_importer.rb b/lib/gitlab/github_import/importer/pull_request_review_importer.rb index 14ee69ba089..9f495913897 100644 --- a/lib/gitlab/github_import/importer/pull_request_review_importer.rb +++ b/lib/gitlab/github_import/importer/pull_request_review_importer.rb @@ -77,12 +77,22 @@ module Gitlab def add_approval!(user_id) return unless review.review_type == 'APPROVED' - add_approval_system_note!(user_id) - - merge_request.approvals.create!( + approval_attribues = { + merge_request_id: merge_request.id, user_id: user_id, - created_at: review.submitted_at + created_at: review.submitted_at, + updated_at: review.submitted_at + } + + result = ::Approval.insert( + approval_attribues, + returning: [:id], + unique_by: [:user_id, :merge_request_id] ) + + if result.rows.present? + add_approval_system_note!(user_id) + end end def add_approval_system_note!(user_id) |