Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-shell
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
iv
gitlab-shell
Commits
63b6c78f
Commit
63b6c78f
authored
Sep 16, 2014
by
Dmitriy Zaporozhets
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'symlink_hooks_directory' into 'master'
Symlink hooks directory See merge request !44
parents
27fe2ea5
4bd94c07
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
7 additions
and
4 deletions
+7
-4
CHANGELOG
CHANGELOG
+1
-0
lib/gitlab_projects.rb
lib/gitlab_projects.rb
+6
-4
No files found.
CHANGELOG
View file @
63b6c78f
...
...
@@ -3,6 +3,7 @@ v2.0.0
- Replace raise with abort when checking path to prevent path exposure
- Handle invalid number of arguments on remote commands
- Replace update hook with pre-receive and post-receive hooks.
- Symlink the whole hooks directory
- Ignore missing repositories in create-hooks
- Connect to Redis via sockets by default
...
...
lib/gitlab_projects.rb
View file @
63b6c78f
...
...
@@ -5,6 +5,8 @@ require_relative 'gitlab_config'
require_relative
'gitlab_logger'
class
GitlabProjects
GLOBAL_HOOKS_DIRECTORY
=
File
.
join
(
ROOT_PATH
,
'hooks'
)
# Project name is a directory name for repository with .git at the end
# It may be namespaced or not. Like repo.git or gitlab/repo.git
attr_reader
:project_name
...
...
@@ -18,10 +20,10 @@ class GitlabProjects
attr_reader
:full_path
def
self
.
create_hooks
(
path
)
%w(pre-receive post-receive)
.
each
do
|
hook_name
|
hook
=
File
.
join
(
path
,
'hooks'
,
hook_name
)
File
.
delete
(
hook
)
if
File
.
exists?
(
hook
)
File
.
symlink
(
File
.
join
(
ROOT_PATH
,
'hooks'
,
hook_name
),
hook
)
local_hooks_directory
=
File
.
join
(
path
,
'hooks'
)
unless
File
.
realpath
(
local_hooks_directory
)
==
File
.
realpath
(
GLOBAL_HOOKS_DIRECTORY
)
File
Utils
.
mv
(
local_hooks_directory
,
"
#{
local_hooks_directory
}
.old.
#{
Time
.
now
.
to_i
}
"
)
File
Utils
.
ln_s
(
GLOBAL_HOOKS_DIRECTORY
,
local_hooks_directory
)
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