Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
86f43912
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
86f43912
编写于
8月 28, 2017
作者:
O
Oswaldo Ferreira
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Cleans merge_jid when possible on MergeService
上级
ffc576d7
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
8 deletion
+34
-8
app/services/merge_requests/merge_service.rb
app/services/merge_requests/merge_service.rb
+6
-3
spec/services/merge_requests/merge_service_spec.rb
spec/services/merge_requests/merge_service_spec.rb
+28
-5
未找到文件。
app/services/merge_requests/merge_service.rb
浏览文件 @
86f43912
...
...
@@ -26,14 +26,13 @@ module MergeRequests
merge_request
.
in_locked_state
do
if
commit
after_merge
clean_merge_jid
success
end
end
rescue
MergeError
=>
e
clean_merge_jid
log_merge_error
(
e
.
message
,
save_message_on_model:
true
)
ensure
# Make sure to clean up merge_jid in the end of the merge process.
merge_request
.
update_column
(
:merge_jid
,
nil
)
end
private
...
...
@@ -73,6 +72,10 @@ module MergeRequests
end
end
def
clean_merge_jid
merge_request
.
update_column
(
:merge_jid
,
nil
)
end
def
branch_deletion_user
@merge_request
.
force_remove_source_branch?
?
@merge_request
.
author
:
current_user
end
...
...
spec/services/merge_requests/merge_service_spec.rb
浏览文件 @
86f43912
...
...
@@ -12,13 +12,36 @@ describe MergeRequests::MergeService do
end
describe
'#execute'
do
it
'cleans up merge_jid from MergeRequest'
do
merge_request
.
update_column
(
:merge_jid
,
'hash-123'
)
service
=
described_class
.
new
(
project
,
user
,
commit_message:
'Awesome message'
)
context
'MergeRequest#merge_jid'
do
before
do
merge_request
.
update_column
(
:merge_jid
,
'hash-123'
)
end
it
'is cleaned when no error is raised'
do
service
=
described_class
.
new
(
project
,
user
,
commit_message:
'Awesome message'
)
service
.
execute
(
merge_request
)
expect
(
merge_request
.
reload
.
merge_jid
).
to
be_nil
end
service
.
execute
(
merge_request
)
it
'is cleaned when expected error is raised'
do
service
=
described_class
.
new
(
project
,
user
,
commit_message:
'Awesome message'
)
allow
(
service
).
to
receive
(
:commit
).
and_raise
(
described_class
::
MergeError
)
expect
(
merge_request
.
reload
.
merge_jid
).
to
be_nil
service
.
execute
(
merge_request
)
expect
(
merge_request
.
reload
.
merge_jid
).
to
be_nil
end
it
'is not cleaned when unexpected error is raised'
do
service
=
described_class
.
new
(
project
,
user
,
commit_message:
'Awesome message'
)
allow
(
service
).
to
receive
(
:commit
).
and_raise
(
StandardError
)
expect
{
service
.
execute
(
merge_request
)
}.
to
raise_error
(
StandardError
)
expect
(
merge_request
.
reload
.
merge_jid
).
to
be_present
end
end
context
'valid params'
do
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录