Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
0950d92d
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,体验更适合开发者的 AI 搜索 >>
未验证
提交
0950d92d
编写于
9月 15, 2016
作者:
R
Rémy Coutable
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Reduce duplication in Commits::{CherryPickService,RevertService}
Signed-off-by:
N
Rémy Coutable
<
remy@rymai.me
>
上级
00f002ed
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
21 addition
and
27 deletion
+21
-27
app/services/commits/change_service.rb
app/services/commits/change_service.rb
+19
-1
app/services/commits/cherry_pick_service.rb
app/services/commits/cherry_pick_service.rb
+1
-13
app/services/commits/revert_service.rb
app/services/commits/revert_service.rb
+1
-13
未找到文件。
app/services/commits/change_service.rb
浏览文件 @
0950d92d
...
...
@@ -16,11 +16,29 @@ module Commits
error
(
ex
.
message
)
end
private
def
commit
raise
NotImplementedError
end
private
def
commit_change
(
action
)
raise
NotImplementedError
unless
repository
.
respond_to?
(
action
)
into
=
@create_merge_request
?
@commit
.
public_send
(
"
#{
action
}
_branch_name"
)
:
@target_branch
tree_id
=
repository
.
public_send
(
"check_
#{
action
}
_content"
,
@commit
,
@target_branch
)
if
tree_id
create_target_branch
(
into
)
if
@create_merge_request
repository
.
public_send
(
action
,
current_user
,
@commit
,
into
,
tree_id
)
success
else
error_msg
=
"Sorry, we cannot
#{
action
.
to_s
.
dasherize
}
this
#{
@commit
.
change_type_title
}
automatically.
It may have already been
#{
action
.
to_s
.
dasherize
}
, or a more recent commit may have updated some of its content."
raise
ChangeError
,
error_msg
end
end
def
check_push_permissions
allowed
=
::
Gitlab
::
UserAccess
.
new
(
current_user
,
project:
project
).
can_push_to_branch?
(
@target_branch
)
...
...
app/services/commits/cherry_pick_service.rb
浏览文件 @
0950d92d
module
Commits
class
CherryPickService
<
ChangeService
def
commit
cherry_pick_into
=
@create_merge_request
?
@commit
.
cherry_pick_branch_name
:
@target_branch
cherry_pick_tree_id
=
repository
.
check_cherry_pick_content
(
@commit
,
@target_branch
)
if
cherry_pick_tree_id
create_target_branch
(
cherry_pick_into
)
if
@create_merge_request
repository
.
cherry_pick
(
current_user
,
@commit
,
cherry_pick_into
,
cherry_pick_tree_id
)
success
else
error_msg
=
"Sorry, we cannot cherry-pick this
#{
@commit
.
change_type_title
}
automatically.
It may have already been cherry-picked, or a more recent commit may have updated some of its content."
raise
ChangeError
,
error_msg
end
commit_change
(
:cherry_pick
)
end
end
end
app/services/commits/revert_service.rb
浏览文件 @
0950d92d
module
Commits
class
RevertService
<
ChangeService
def
commit
revert_into
=
@create_merge_request
?
@commit
.
revert_branch_name
:
@target_branch
revert_tree_id
=
repository
.
check_revert_content
(
@commit
,
@target_branch
)
if
revert_tree_id
create_target_branch
(
revert_into
)
if
@create_merge_request
repository
.
revert
(
current_user
,
@commit
,
revert_into
,
revert_tree_id
)
success
else
error_msg
=
"Sorry, we cannot revert this
#{
@commit
.
change_type_title
}
automatically.
It may have already been reverted, or a more recent commit may have updated some of its content."
raise
ChangeError
,
error_msg
end
commit_change
(
:revert
)
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录