BigW Consortium Gitlab
Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
gitlab-ce
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Forest Godfrey
gitlab-ce
Commits
ccdf08d8
Commit
ccdf08d8
authored
Jan 06, 2015
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Refactor merge request merge service
* Add system note when user merges MR in same way as it closes it * Remove duplicating code
parent
b55a0519
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
16 additions
and
20 deletions
+16
-20
merge_request.rb
app/models/merge_request.rb
+3
-1
auto_merge_service.rb
app/services/merge_requests/auto_merge_service.rb
+4
-3
base_merge_service.rb
app/services/merge_requests/base_merge_service.rb
+1
-12
merge_service.rb
app/services/merge_requests/merge_service.rb
+5
-3
refresh_service.rb
app/services/merge_requests/refresh_service.rb
+3
-1
No files found.
app/models/merge_request.rb
View file @
ccdf08d8
...
...
@@ -189,7 +189,9 @@ class MergeRequest < ActiveRecord::Base
end
def
automerge!
(
current_user
,
commit_message
=
nil
)
MergeRequests
::
AutoMergeService
.
new
.
execute
(
self
,
current_user
,
commit_message
)
MergeRequests
::
AutoMergeService
.
new
(
target_project
,
current_user
).
execute
(
self
,
commit_message
)
end
def
open?
...
...
app/services/merge_requests/auto_merge_service.rb
View file @
ccdf08d8
...
...
@@ -5,15 +5,16 @@ module MergeRequests
# mark merge request as merged and execute all hooks and notifications
# Called when you do merge via GitLab UI
class
AutoMergeService
<
BaseMergeService
def
execute
(
merge_request
,
c
urrent_user
,
c
ommit_message
)
def
execute
(
merge_request
,
commit_message
)
merge_request
.
lock_mr
if
Gitlab
::
Satellite
::
MergeAction
.
new
(
current_user
,
merge_request
).
merge!
(
commit_message
)
merge_request
.
merge
notification
.
merge_mr
(
merge_request
,
current_user
)
notification
_service
.
merge_mr
(
merge_request
,
current_user
)
create_merge_event
(
merge_request
,
current_user
)
execute_project_hooks
(
merge_request
)
create_note
(
merge_request
)
execute_hooks
(
merge_request
)
true
else
...
...
app/services/merge_requests/base_merge_service.rb
View file @
ccdf08d8
module
MergeRequests
class
BaseMergeService
class
BaseMergeService
<
MergeRequests
::
BaseService
private
def
notification
NotificationService
.
new
end
def
create_merge_event
(
merge_request
,
current_user
)
EventCreateService
.
new
.
merge_mr
(
merge_request
,
current_user
)
end
def
execute_project_hooks
(
merge_request
)
if
merge_request
.
project
hook_data
=
merge_request
.
to_hook_data
(
current_user
)
merge_request
.
project
.
execute_hooks
(
hook_data
,
:merge_request_hooks
)
end
end
end
end
app/services/merge_requests/merge_service.rb
View file @
ccdf08d8
...
...
@@ -6,12 +6,14 @@ module MergeRequests
# Called when you do merge via command line and push code
# to target branch
class
MergeService
<
BaseMergeService
def
execute
(
merge_request
,
c
urrent_user
,
c
ommit_message
)
def
execute
(
merge_request
,
commit_message
)
merge_request
.
merge
notification
.
merge_mr
(
merge_request
,
current_user
)
binding
.
pry
notification_service
.
merge_mr
(
merge_request
,
current_user
)
create_merge_event
(
merge_request
,
current_user
)
execute_project_hooks
(
merge_request
)
create_note
(
merge_request
)
execute_hooks
(
merge_request
)
true
rescue
...
...
app/services/merge_requests/refresh_service.rb
View file @
ccdf08d8
...
...
@@ -32,7 +32,9 @@ module MergeRequests
merge_requests
.
uniq
.
select
(
&
:source_project
).
each
do
|
merge_request
|
MergeRequests
::
MergeService
.
new
.
execute
(
merge_request
,
@current_user
,
nil
)
MergeRequests
::
MergeService
.
new
(
merge_request
.
target_project
,
@current_user
).
execute
(
merge_request
,
nil
)
end
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment