Commit ba429a6e authored by George Koltsov's avatar George Koltsov

Apply code review feedback

parent 9baa7ee1
--- ---
title: 'Fix BitBucketCloud imported project''s comments missing author line (''Created title: 'Fix missing author line (`Created by: <user>`) in MRs/issues/comments of imported Bitbucket Cloud project'
by: <user>'')'
merge_request: 31579 merge_request: 31579
author: author:
type: fixed type: fixed
...@@ -31,12 +31,12 @@ to enable this if not already. ...@@ -31,12 +31,12 @@ to enable this if not already.
## How it works ## How it works
When issues/pull requests are being imported, the Bitbucket importer tries to find When issues/pull requests are being imported, the Bitbucket importer tries to find
the Bitbucket author/assignee in GitLab's database using the Bitbucket `nickname`. For this the Bitbucket author/assignee in GitLab's database using the Bitbucket `nickname`.
to work, the Bitbucket author/assignee should have their `nickname` match their Bitbucket For this to work, the Bitbucket author/assignee should have signed in beforehand in GitLab
`username`, signed in beforehand in GitLab and **associated their Bitbucket account**. and **associated their Bitbucket account**. Their `nickname` must also match their Bitbucket
If the user is not found in GitLab's database, the project creator (most of the times the `username.`. If the user is not found in GitLab's database, the project creator
current user that started the import process) is set as the author, but a reference on (most of the times the current user that started the import process) is set as the author,
the issue about the original Bitbucket author is kept. but a reference on the issue about the original Bitbucket author is kept.
The importer will create any new namespaces (groups) if they don't exist or in The importer will create any new namespaces (groups) if they don't exist or in
the case the namespace is taken, the repository will be imported under the user's the case the namespace is taken, the repository will be imported under the user's
......
...@@ -260,20 +260,18 @@ module Gitlab ...@@ -260,20 +260,18 @@ module Gitlab
end end
def pull_request_comment_attributes(comment) def pull_request_comment_attributes(comment)
author_id = gitlab_user_id(project, comment.author)
{ {
project: project, project: project,
note: comment_note(comment, author_id), note: comment_note(comment),
author_id: author_id, author_id: gitlab_user_id(project, comment.author),
created_at: comment.created_at, created_at: comment.created_at,
updated_at: comment.updated_at updated_at: comment.updated_at
} }
end end
def comment_note(comment, author_id) def comment_note(comment)
note = '' note = ''
note += @formatter.author_line(comment.author) if author_id == project.creator_id note += @formatter.author_line(comment.author) unless find_user_id(comment.author)
note + comment.note note + comment.note
end end
......
...@@ -184,11 +184,11 @@ describe Gitlab::BitbucketImport::Importer do ...@@ -184,11 +184,11 @@ describe Gitlab::BitbucketImport::Importer do
notes = merge_request.notes.order(:id).to_a notes = merge_request.notes.order(:id).to_a
start_note = notes.first start_note = notes.first
expect(start_note.note).to include(@inline_note.note) expect(start_note.note).to eq(@inline_note.note)
expect(start_note.note).not_to include(author_line) expect(start_note.note).not_to include(author_line)
reply_note = notes.last reply_note = notes.last
expect(reply_note.note).to include(@reply.note) expect(reply_note.note).to eq(@reply.note)
expect(reply_note.note).not_to include(author_line) expect(reply_note.note).not_to include(author_line)
end end
end end
......
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