Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
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
1
Merge Requests
1
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
nexedi
gitlab-ce
Commits
07ab6c2e
Commit
07ab6c2e
authored
May 02, 2016
by
James Lopez
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactoring and fixing a bunch of stuff
parent
7ebf22e0
Changes
6
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
7 additions
and
68 deletions
+7
-68
app/controllers/import/gitlab_projects_controller.rb
app/controllers/import/gitlab_projects_controller.rb
+2
-6
app/views/import/gitlab_projects/status.html.haml
app/views/import/gitlab_projects/status.html.haml
+0
-55
lib/gitlab/import_export/command_line_util.rb
lib/gitlab/import_export/command_line_util.rb
+1
-1
lib/gitlab/import_export/import_service.rb
lib/gitlab/import_export/import_service.rb
+1
-2
lib/gitlab/import_export/repo_restorer.rb
lib/gitlab/import_export/repo_restorer.rb
+1
-1
spec/features/projects/import_export/import_file_spec.rb
spec/features/projects/import_export/import_file_spec.rb
+2
-3
No files found.
app/controllers/import/gitlab_projects_controller.rb
View file @
07ab6c2e
...
@@ -12,13 +12,7 @@ class Import::GitlabProjectsController < Import::BaseController
...
@@ -12,13 +12,7 @@ class Import::GitlabProjectsController < Import::BaseController
end
end
def
status
def
status
@repos
=
client
.
projects
@incompatible_repos
=
client
.
incompatible_projects
@already_added_projects
=
current_user
.
created_projects
.
where
(
import_type:
"gitlab_project"
)
already_added_projects_names
=
@already_added_projects
.
pluck
(
:import_source
)
@repos
.
to_a
.
reject!
{
|
repo
|
already_added_projects_names
.
include?
"
#{
repo
[
"owner"
]
}
/
#{
repo
[
"slug"
]
}
"
}
end
end
def
jobs
def
jobs
...
@@ -39,6 +33,8 @@ class Import::GitlabProjectsController < Import::BaseController
...
@@ -39,6 +33,8 @@ class Import::GitlabProjectsController < Import::BaseController
tmp_file:
File
.
expand_path
(
file
.
path
),
tmp_file:
File
.
expand_path
(
file
.
path
),
namespace_id:
namespace_id
,
namespace_id:
namespace_id
,
project_path:
path
)
project_path:
path
)
redirect_to
status_import_gitlab_project_path
end
end
private
private
...
...
app/views/import/gitlab_projects/status.html.haml
View file @
07ab6c2e
-
page_title
"Gitlab_project import"
-
header_title
"Projects"
,
root_path
%h3
.page-title
%i
.icon-gitlab.icon-gitlab-big
Import Gitlab projects
%p
.light
Select projects you want to import.
%hr
%p
=
button_tag
class:
"btn btn-import btn-success js-import-all"
do
Import all projects
=
icon
(
"spinner spin"
,
class:
"loading-icon"
)
.table-responsive
%table
.table.import-jobs
%colgroup
.import-jobs-from-col
%colgroup
.import-jobs-to-col
%colgroup
.import-jobs-status-col
%thead
%tr
%th
From Gitlab_project.org
%th
To GitLab
%th
Status
%tbody
-
@already_added_projects
.
each
do
|
project
|
%tr
{
id:
"project_#{project.id}"
,
class:
"#{project_status_css_class(project.import_status)}"
}
%td
=
link_to
project
.
import_source
,
"https://gitlab_project.org/
#{
project
.
import_source
}
"
,
target:
"_blank"
%td
=
link_to
project
.
path_with_namespace
,
[
project
.
namespace
.
becomes
(
Namespace
),
project
]
%td
.job-status
-
if
project
.
import_status
==
'finished'
%span
%i
.fa.fa-check
done
-
elsif
project
.
import_status
==
'started'
%i
.fa.fa-spinner.fa-spin
started
-
else
=
project
.
human_import_status_name
-
@repos
.
each
do
|
repo
|
%tr
{
id:
"repo_#{repo.id}"
}
%td
=
link_to
repo
.
full_name
,
"https://gitlab_project.org/
#{
repo
.
full_name
}
"
,
target:
"_blank"
%td
.import-target
=
repo
.
full_name
%td
.import-actions.job-status
=
button_tag
class:
"btn btn-import js-add-to-import"
do
Import
=
icon
(
"spinner spin"
,
class:
"loading-icon"
)
:javascript
new
ImporterStatus
(
"
#{
jobs_import_gitlab_project_path
}
"
,
"
#{
import_gitlab_project_path
}
"
);
lib/gitlab/import_export/command_line_util.rb
View file @
07ab6c2e
...
@@ -9,7 +9,7 @@ module Gitlab
...
@@ -9,7 +9,7 @@ module Gitlab
untar_with_options
(
archive:
archive
,
dir:
dir
,
options:
'zxf'
)
untar_with_options
(
archive:
archive
,
dir:
dir
,
options:
'zxf'
)
end
end
def
untar_
cz
f
(
archive
:,
dir
:)
def
untar_
x
f
(
archive
:,
dir
:)
untar_with_options
(
archive:
archive
,
dir:
dir
,
options:
'xf'
)
untar_with_options
(
archive:
archive
,
dir:
dir
,
options:
'xf'
)
end
end
...
...
lib/gitlab/import_export/import_service.rb
View file @
07ab6c2e
...
@@ -15,8 +15,7 @@ module Gitlab
...
@@ -15,8 +15,7 @@ module Gitlab
def
execute
def
execute
Gitlab
::
ImportExport
::
Importer
.
import
(
archive_file:
@archive_file
,
storage_path:
storage_path
)
Gitlab
::
ImportExport
::
Importer
.
import
(
archive_file:
@archive_file
,
storage_path:
storage_path
)
restore_project_tree
project_tree
.
project
if
[
restore_project_tree
,
restore_repo
].
all?
restore_repo
end
end
private
private
...
...
lib/gitlab/import_export/repo_restorer.rb
View file @
07ab6c2e
...
@@ -15,7 +15,7 @@ module Gitlab
...
@@ -15,7 +15,7 @@ module Gitlab
FileUtils
.
mkdir_p
(
repos_path
)
FileUtils
.
mkdir_p
(
repos_path
)
FileUtils
.
mkdir_p
(
path_to_repo
)
FileUtils
.
mkdir_p
(
path_to_repo
)
untar_
z
xf
(
archive:
@path
,
dir:
path_to_repo
)
untar_xf
(
archive:
@path
,
dir:
path_to_repo
)
end
end
private
private
...
...
spec/features/projects/import_export/import_file_spec.rb
View file @
07ab6c2e
...
@@ -8,6 +8,8 @@ feature 'project import', feature: true, js: true do
...
@@ -8,6 +8,8 @@ feature 'project import', feature: true, js: true do
let
(
:file
)
{
File
.
join
(
Rails
.
root
,
'spec'
,
'features'
,
'projects'
,
'import_export'
,
'test_project_export.tar.gz'
)
}
let
(
:file
)
{
File
.
join
(
Rails
.
root
,
'spec'
,
'features'
,
'projects'
,
'import_export'
,
'test_project_export.tar.gz'
)
}
background
do
background
do
export_path
=
"
#{
Dir
::
tmpdir
}
/import_file_spec"
allow_any_instance_of
(
Gitlab
::
ImportExport
).
to
receive
(
:storage_path
).
and_return
(
export_path
)
login_as
(
user
)
login_as
(
user
)
end
end
...
@@ -27,9 +29,6 @@ feature 'project import', feature: true, js: true do
...
@@ -27,9 +29,6 @@ feature 'project import', feature: true, js: true do
sleep
1
sleep
1
click_on
'Continue to the next step'
click_on
'Continue to the next step'
sleep
1
end
end
def
drop_in_dropzone
(
file_path
)
def
drop_in_dropzone
(
file_path
)
...
...
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