Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
04b51a2b
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,发现更多精彩内容 >>
提交
04b51a2b
编写于
11月 25, 2012
作者:
D
Dmitriy Zaporozhets
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Improve activate_namespace task to build missing dirs and moving repos correctly
上级
fbe03c50
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
34 addition
and
4 deletion
+34
-4
lib/gitlab/backend/gitolite.rb
lib/gitlab/backend/gitolite.rb
+6
-0
lib/tasks/gitlab/activate_namespaces.rake
lib/tasks/gitlab/activate_namespaces.rake
+28
-4
未找到文件。
lib/gitlab/backend/gitolite.rb
浏览文件 @
04b51a2b
...
@@ -38,6 +38,12 @@ module Gitlab
...
@@ -38,6 +38,12 @@ module Gitlab
config
.
admin_all_repo!
config
.
admin_all_repo!
end
end
def
update_repositories
projects
config
.
apply
do
|
config
|
config
.
update_projects
(
projects
)
end
end
alias_method
:create_repository
,
:update_repository
alias_method
:create_repository
,
:update_repository
end
end
end
end
lib/tasks/gitlab/activate_namespaces.rake
浏览文件 @
04b51a2b
namespace
:gitlab
do
namespace
:gitlab
do
desc
"GITLAB | Enable usernames and namespaces for user projects"
desc
"GITLAB | Enable usernames and namespaces for user projects"
task
activate_namespaces: :environment
do
task
activate_namespaces: :environment
do
print
"
\n
Usernames for users:"
.
yellow
User
.
find_each
(
batch_size:
500
)
do
|
user
|
User
.
find_each
(
batch_size:
500
)
do
|
user
|
next
if
user
.
namespace
next
if
user
.
namespace
...
@@ -14,6 +16,8 @@ namespace :gitlab do
...
@@ -14,6 +16,8 @@ namespace :gitlab do
end
end
end
end
print
"
\n\n
Dirs for groups:"
.
yellow
Group
.
find_each
(
batch_size:
500
)
do
|
group
|
Group
.
find_each
(
batch_size:
500
)
do
|
group
|
if
group
.
ensure_dir_exist
if
group
.
ensure_dir_exist
print
'.'
.
green
print
'.'
.
green
...
@@ -22,23 +26,43 @@ namespace :gitlab do
...
@@ -22,23 +26,43 @@ namespace :gitlab do
end
end
end
end
print
"
\n\n
Move projects from groups under groups dirs:"
.
yellow
git_path
=
Gitlab
.
config
.
git_base_path
git_path
=
Gitlab
.
config
.
git_base_path
Project
.
where
(
'namespace_id IS NOT NULL'
).
find_each
(
batch_size:
500
)
do
|
project
|
Project
.
where
(
'namespace_id IS NOT NULL'
).
find_each
(
batch_size:
500
)
do
|
project
|
next
unless
project
.
group
next
unless
project
.
group
next
if
project
.
empty_repo?
group
=
project
.
group
group
=
project
.
group
next
if
File
.
exists?
(
File
.
join
(
git_path
,
project
.
path_with_namespace
))
puts
"
\n
"
print
" *
#{
project
.
name
}
: "
new_path
=
File
.
join
(
git_path
,
project
.
path_with_namespace
+
'.git'
)
if
File
.
exists?
(
new_path
)
print
"ok. already at
#{
new_path
}
"
.
cyan
next
end
old_path
=
File
.
join
(
git_path
,
project
.
path
+
'.git'
)
next
unless
File
.
exists?
(
File
.
join
(
git_path
,
project
.
path
))
unless
File
.
exists?
(
old_path
)
print
"missing. not found at
#{
old_path
}
"
.
red
next
end
begin
begin
Gitlab
::
ProjectMover
.
new
(
project
,
''
,
group
.
path
).
execute
Gitlab
::
ProjectMover
.
new
(
project
,
''
,
group
.
path
).
execute
print
'.'
.
green
print
"ok. Moved to
#{
new_path
}
"
.
green
rescue
rescue
print
'F'
.
red
print
"Failed moving to
#{
new_path
}
"
.
red
end
end
end
end
print
"
\n\n
Rebuild gitolite:"
.
yellow
gitolite
=
Gitlab
::
Gitolite
.
new
gitolite
.
update_repositories
(
Project
.
where
(
'namespace_id IS NOT NULL'
))
puts
"
\n
"
end
end
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录