Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/gitlab-org/gitlab-foss.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGitLab Bot <gitlab-bot@gitlab.com>2021-03-16 21:18:33 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2021-03-16 21:18:33 +0300
commitf64a639bcfa1fc2bc89ca7db268f594306edfd7c (patch)
treea2c3c2ebcc3b45e596949db485d6ed18ffaacfa1 /lib/gitlab/github_import
parentbfbc3e0d6583ea1a91f627528bedc3d65ba4b10f (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.rb33
-rw-r--r--lib/gitlab/github_import/importer/pull_request_review_importer.rb18
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)