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>2022-01-11 00:16:38 +0300
committerGitLab Bot <gitlab-bot@gitlab.com>2022-01-11 00:16:38 +0300
commitfbb529e46cfd031fae6f6f650d81bef331ef8fcd (patch)
tree5948276887c29da4975caf80fb441a9dbba7c0f1 /lib/gitlab/merge_requests
parent20c68317f8d350b9e2f5004730dd27e6a7d406ce (diff)
Add latest changes from gitlab-org/gitlab@master
Diffstat (limited to 'lib/gitlab/merge_requests')
-rw-r--r--lib/gitlab/merge_requests/commit_message_generator.rb10
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/gitlab/merge_requests/commit_message_generator.rb b/lib/gitlab/merge_requests/commit_message_generator.rb
index b388660ad3e..0515c17fe5d 100644
--- a/lib/gitlab/merge_requests/commit_message_generator.rb
+++ b/lib/gitlab/merge_requests/commit_message_generator.rb
@@ -65,9 +65,13 @@ module Gitlab
end
names_of_empty_variables = values.filter_map { |name, value| name if value.blank? }
- # Remove placeholders that correspond to empty values and are the only word in a line
- # along with all whitespace characters preceding them.
- message = message.gsub(/[\n\r]+#{Regexp.union(names_of_empty_variables)}$/, '') if names_of_empty_variables.present?
+ # Remove lines that contain empty variable placeholder and nothing else.
+ if names_of_empty_variables.present?
+ # If there is blank line or EOF after it, remove blank line before it as well.
+ message = message.gsub(/\n\n#{Regexp.union(names_of_empty_variables)}(\n\n|\Z)/, '\1')
+ # Otherwise, remove only the line it is in.
+ message = message.gsub(/^#{Regexp.union(names_of_empty_variables)}\n/, '')
+ end
# Substitute all variables with their values.
message = message.gsub(Regexp.union(values.keys), values) if values.present?