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>2020-02-18 15:09:15 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2020-02-18 15:09:15 +0300
commit0637ba1e6e9024f35b2cbf561d9002ec17350bb3 (patch)
tree960cebf0e892710c1b40f25e249d04aaf8f9b868 /app/models
parent4720b569f0fcbb47e9f1a60e95172ae63b6f065a (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'app/models')
-rw-r--r--app/models/ci/job_artifact.rb4
-rw-r--r--app/models/issue.rb4
-rw-r--r--app/models/merge_request.rb31
-rw-r--r--app/models/project_services/issue_tracker_service.rb4
-rw-r--r--app/models/project_services/youtrack_service.rb2
5 files changed, 23 insertions, 22 deletions
diff --git a/app/models/ci/job_artifact.rb b/app/models/ci/job_artifact.rb
index 564853fc8a1..b66bc78094f 100644
--- a/app/models/ci/job_artifact.rb
+++ b/app/models/ci/job_artifact.rb
@@ -42,6 +42,7 @@ module Ci
metrics: :gzip,
metrics_referee: :gzip,
network_referee: :gzip,
+ lsif: :gzip,
# All these file formats use `raw` as we need to store them uncompressed
# for Frontend to fetch the files and do analysis
@@ -53,8 +54,7 @@ module Ci
dast: :raw,
license_management: :raw,
license_scanning: :raw,
- performance: :raw,
- lsif: :raw
+ performance: :raw
}.freeze
TYPE_AND_FORMAT_PAIRS = INTERNAL_TYPES.merge(REPORT_TYPES).freeze
diff --git a/app/models/issue.rb b/app/models/issue.rb
index be702134ced..83f9e803d42 100644
--- a/app/models/issue.rb
+++ b/app/models/issue.rb
@@ -128,12 +128,12 @@ class Issue < ApplicationRecord
def self.reference_pattern
@reference_pattern ||= %r{
(#{Project.reference_pattern})?
- #{Regexp.escape(reference_prefix)}(?<issue>\d+)
+ #{Regexp.escape(reference_prefix)}#{Gitlab::Regex.issue}
}x
end
def self.link_reference_pattern
- @link_reference_pattern ||= super("issues", /(?<issue>\d+)/)
+ @link_reference_pattern ||= super("issues", Gitlab::Regex.issue)
end
def self.reference_valid?(reference)
diff --git a/app/models/merge_request.rb b/app/models/merge_request.rb
index 6c32bdadfa8..b469174fc63 100644
--- a/app/models/merge_request.rb
+++ b/app/models/merge_request.rb
@@ -48,6 +48,7 @@ class MergeRequest < ApplicationRecord
# 1. There are arguments - in which case we might be trying to force-reload.
# 2. This association is already loaded.
# 3. The latest diff does not exist.
+ # 4. It doesn't have any merge_request_diffs - it returns an empty MergeRequestDiff
#
# The second one in particular is important - MergeRequestDiff#merge_request
# is the inverse of MergeRequest#merge_request_diff, which means it may not be
@@ -56,7 +57,7 @@ class MergeRequest < ApplicationRecord
def merge_request_diff
fallback = latest_merge_request_diff unless association(:merge_request_diff).loaded?
- fallback || super
+ fallback || super || MergeRequestDiff.new(merge_request_id: id)
end
belongs_to :head_pipeline, foreign_key: "head_pipeline_id", class_name: "Ci::Pipeline"
@@ -404,7 +405,7 @@ class MergeRequest < ApplicationRecord
end
def commits(limit: nil)
- return merge_request_diff.commits(limit: limit) if persisted?
+ return merge_request_diff.commits(limit: limit) if merge_request_diff.persisted?
commits_arr = if compare_commits
reversed_commits = compare_commits.reverse
@@ -421,7 +422,7 @@ class MergeRequest < ApplicationRecord
end
def commits_count
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.commits_count
elsif compare_commits
compare_commits.size
@@ -431,7 +432,7 @@ class MergeRequest < ApplicationRecord
end
def commit_shas(limit: nil)
- return merge_request_diff.commit_shas(limit: limit) if persisted?
+ return merge_request_diff.commit_shas(limit: limit) if merge_request_diff.persisted?
shas =
if compare_commits
@@ -492,11 +493,11 @@ class MergeRequest < ApplicationRecord
end
def first_commit
- merge_request_diff ? merge_request_diff.first_commit : compare_commits.first
+ compare_commits.present? ? compare_commits.first : merge_request_diff.first_commit
end
def raw_diffs(*args)
- merge_request_diff ? merge_request_diff.raw_diffs(*args) : compare.raw_diffs(*args)
+ compare.present? ? compare.raw_diffs(*args) : merge_request_diff.raw_diffs(*args)
end
def diffs(diff_options = {})
@@ -557,7 +558,7 @@ class MergeRequest < ApplicationRecord
end
def diff_base_commit
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.base_commit
else
branch_merge_base_commit
@@ -565,7 +566,7 @@ class MergeRequest < ApplicationRecord
end
def diff_start_commit
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.start_commit
else
target_branch_head
@@ -573,7 +574,7 @@ class MergeRequest < ApplicationRecord
end
def diff_head_commit
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.head_commit
else
source_branch_head
@@ -581,7 +582,7 @@ class MergeRequest < ApplicationRecord
end
def diff_start_sha
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.start_commit_sha
else
target_branch_head.try(:sha)
@@ -589,7 +590,7 @@ class MergeRequest < ApplicationRecord
end
def diff_base_sha
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.base_commit_sha
else
branch_merge_base_commit.try(:sha)
@@ -597,7 +598,7 @@ class MergeRequest < ApplicationRecord
end
def diff_head_sha
- if persisted?
+ if merge_request_diff.persisted?
merge_request_diff.head_commit_sha
else
source_branch_head.try(:sha)
@@ -758,7 +759,7 @@ class MergeRequest < ApplicationRecord
end
def ensure_merge_request_diff
- merge_request_diff || create_merge_request_diff
+ merge_request_diff.persisted? || create_merge_request_diff
end
def create_merge_request_diff
@@ -1005,7 +1006,7 @@ class MergeRequest < ApplicationRecord
def closes_issues(current_user = self.author)
if target_branch == project.default_branch
messages = [title, description]
- messages.concat(commits.map(&:safe_message)) if merge_request_diff
+ messages.concat(commits.map(&:safe_message)) if merge_request_diff.persisted?
Gitlab::ClosingIssueExtractor.new(project, current_user)
.closed_by_message(messages.join("\n"))
@@ -1421,7 +1422,7 @@ class MergeRequest < ApplicationRecord
end
def has_commits?
- merge_request_diff && commits_count.to_i > 0
+ merge_request_diff.persisted? && commits_count.to_i > 0
end
def has_no_commits?
diff --git a/app/models/project_services/issue_tracker_service.rb b/app/models/project_services/issue_tracker_service.rb
index 9e1393196ff..7cdbb124dee 100644
--- a/app/models/project_services/issue_tracker_service.rb
+++ b/app/models/project_services/issue_tracker_service.rb
@@ -19,9 +19,9 @@ class IssueTrackerService < Service
# overridden patterns. See ReferenceRegexes.external_pattern
def self.reference_pattern(only_long: false)
if only_long
- /(\b[A-Z][A-Z0-9_]*-)(?<issue>\d+)/
+ /(\b[A-Z][A-Z0-9_]*-)#{Gitlab::Regex.issue}/
else
- /(\b[A-Z][A-Z0-9_]*-|#{Issue.reference_prefix})(?<issue>\d+)/
+ /(\b[A-Z][A-Z0-9_]*-|#{Issue.reference_prefix})#{Gitlab::Regex.issue}/
end
end
diff --git a/app/models/project_services/youtrack_service.rb b/app/models/project_services/youtrack_service.rb
index 02d06eeb405..0815e27850d 100644
--- a/app/models/project_services/youtrack_service.rb
+++ b/app/models/project_services/youtrack_service.rb
@@ -8,7 +8,7 @@ class YoutrackService < IssueTrackerService
if only_long
/(?<issue>\b[A-Za-z][A-Za-z0-9_]*-\d+\b)/
else
- /(?<issue>\b[A-Za-z][A-Za-z0-9_]*-\d+\b)|(#{Issue.reference_prefix}(?<issue>\d+))/
+ /(?<issue>\b[A-Za-z][A-Za-z0-9_]*-\d+\b)|(#{Issue.reference_prefix}#{Gitlab::Regex.issue})/
end
end