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
13c6096e
Commit
13c6096e
authored
Nov 30, 2015
by
Valery Sizov
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'upload_hook' into 'master'
Fire update hook from GitLab
https://gitlab.com/gitlab-org/gitlab-ce/issues/3069
See merge request !1882
parents
ceeb93fa
ae18ba16
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
3 deletions
+25
-3
CHANGELOG
CHANGELOG
+1
-0
repository.rb
app/models/repository.rb
+7
-3
hook.rb
lib/gitlab/git/hook.rb
+17
-0
No files found.
CHANGELOG
View file @
13c6096e
...
...
@@ -4,6 +4,7 @@ v 8.3.0 (unreleased)
- Fix: Assignee selector is empty when 'Unassigned' is selected (Jose Corcuera)
- Fix 500 error when update group member permission
- Trim leading and trailing whitespace of milestone and issueable titles (Jose Corcuera)
- Fire update hook from GitLab
v 8.2.2
- Fix 404 in redirection after removing a project (Stan Hu)
...
...
app/models/repository.rb
View file @
13c6096e
...
...
@@ -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
View file @
13c6096e
...
...
@@ -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
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