Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
ae18ba16
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 搜索 >>
提交
ae18ba16
编写于
11月 24, 2015
作者:
V
Valery Sizov
提交者:
Valery Sizov
11月 30, 2015
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fire update hook from GitLab
上级
a8e05cec
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
25 addition
and
3 deletion
+25
-3
CHANGELOG
CHANGELOG
+1
-0
app/models/repository.rb
app/models/repository.rb
+7
-3
lib/gitlab/git/hook.rb
lib/gitlab/git/hook.rb
+17
-0
未找到文件。
CHANGELOG
浏览文件 @
ae18ba16
...
...
@@ -7,6 +7,7 @@ v 8.3.0 (unreleased)
- Fix 500 error when update group member permission
- Fix: Raw private snippets access workflow
- Trim leading and trailing whitespace of milestone and issueable titles (Jose Corcuera)
- Fire update hook from GitLab
v 8.2.1
- Forcefully update builds that didn't want to update with state machine
...
...
app/models/repository.rb
浏览文件 @
ae18ba16
...
...
@@ -571,9 +571,13 @@ class Repository
# Run GitLab pre-receive hook
pre_receive_hook
=
Gitlab
::
Git
::
Hook
.
new
(
'pre-receive'
,
path_to_repo
)
status
=
pre_receive_hook
.
trigger
(
gl_id
,
oldrev
,
newrev
,
ref
)
pre_receive_hook_
status
=
pre_receive_hook
.
trigger
(
gl_id
,
oldrev
,
newrev
,
ref
)
if
status
# Run GitLab update hook
update_hook
=
Gitlab
::
Git
::
Hook
.
new
(
'update'
,
path_to_repo
)
update_hook_status
=
update_hook
.
trigger
(
gl_id
,
oldrev
,
newrev
,
ref
)
if
pre_receive_hook_status
&&
update_hook_status
if
was_empty
# Create branch
rugged
.
references
.
create
(
ref
,
newrev
)
...
...
@@ -596,7 +600,7 @@ class Repository
# Remove tmp ref and return error to user
rugged
.
references
.
delete
(
tmp_ref
)
raise
PreReceiveError
.
new
(
'Commit was rejected by
pre-receive
hook'
)
raise
PreReceiveError
.
new
(
'Commit was rejected by
git
hook'
)
end
end
...
...
lib/gitlab/git/hook.rb
浏览文件 @
ae18ba16
...
...
@@ -16,6 +16,17 @@ module Gitlab
def
trigger
(
gl_id
,
oldrev
,
newrev
,
ref
)
return
true
unless
exists?
case
name
when
"pre-receive"
,
"post-receive"
call_receive_hook
(
gl_id
,
oldrev
,
newrev
,
ref
)
when
"update"
call_update_hook
(
gl_id
,
oldrev
,
newrev
,
ref
)
end
end
private
def
call_receive_hook
(
gl_id
,
oldrev
,
newrev
,
ref
)
changes
=
[
oldrev
,
newrev
,
ref
].
join
(
" "
)
# function will return true if succesful
...
...
@@ -54,6 +65,12 @@ module Gitlab
exit_status
end
def
call_update_hook
(
gl_id
,
oldrev
,
newrev
,
ref
)
Dir
.
chdir
(
repo_path
)
do
system
({
'GL_ID'
=>
gl_id
},
path
,
ref
,
oldrev
,
newrev
)
end
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录