Commit 7c6287c878c3106492c1f96d7624e99aa6c8b398
1 parent
5c1a360f
Exists in
spb-stable
and in
3 other branches
Add support of custom message to merge action of satellite
Signed-off-by: Dmitriy Zaporozhets <dmitriy.zaporozhets@gmail.com>
Showing
1 changed file
with
12 additions
and
15 deletions
Show diff stats
lib/gitlab/satellite/merge_action.rb
... | ... | @@ -125,34 +125,31 @@ module Gitlab |
125 | 125 | # |
126 | 126 | # Returns false if the merge produced conflicts |
127 | 127 | # Returns true otherwise |
128 | - def merge_in_satellite!(repo) | |
128 | + def merge_in_satellite!(repo, message = nil) | |
129 | 129 | update_satellite_source_and_target!(repo) |
130 | 130 | |
131 | + merge_message = "Merge branch '#{merge_request.source_branch}' into '#{merge_request.target_branch}'" | |
132 | + | |
133 | + if message | |
134 | + merge_message << "\n\n" | |
135 | + merge_message << message | |
136 | + end | |
137 | + | |
131 | 138 | # merge the source branch into the satellite |
132 | 139 | # will raise CommandFailed when merge fails |
133 | - if merge_request.for_fork? | |
134 | - repo.git.pull(default_options({no_ff: true}), 'source', merge_request.source_branch) | |
135 | - else | |
136 | - repo.git.pull(default_options({no_ff: true}), 'origin', merge_request.source_branch) | |
137 | - end | |
140 | + repo.git.merge(default_options({no_ff: true}), "-m #{merge_message}", "source/#{merge_request.source_branch}") | |
138 | 141 | rescue Grit::Git::CommandFailed => ex |
139 | 142 | handle_exception(ex) |
140 | 143 | end |
141 | 144 | |
142 | 145 | # Assumes a satellite exists that is a fresh clone of the projects repo, prepares satellite for merges, diffs etc |
143 | 146 | def update_satellite_source_and_target!(repo) |
144 | - if merge_request.for_fork? | |
145 | - repo.remote_add('source', merge_request.source_project.repository.path_to_repo) | |
146 | - repo.remote_fetch('source') | |
147 | - repo.git.checkout(default_options({b: true}), merge_request.target_branch, "origin/#{merge_request.target_branch}") | |
148 | - else | |
149 | - repo.git.checkout(default_options, "#{merge_request.source_branch}") | |
150 | - repo.git.checkout(default_options({t: true}), "origin/#{merge_request.target_branch}") | |
151 | - end | |
147 | + repo.remote_add('source', merge_request.source_project.repository.path_to_repo) | |
148 | + repo.remote_fetch('source') | |
149 | + repo.git.checkout(default_options({b: true}), merge_request.target_branch, "origin/#{merge_request.target_branch}") | |
152 | 150 | rescue Grit::Git::CommandFailed => ex |
153 | 151 | handle_exception(ex) |
154 | 152 | end |
155 | - | |
156 | 153 | end |
157 | 154 | end |
158 | 155 | end | ... | ... |