summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorStan Hu <stanhu@gmail.com>2015-04-29 00:33:49 -0700
committerStan Hu <stanhu@gmail.com>2015-04-30 06:56:49 -0700
commit9c76a6fa96bd3c48dc1a64aecb082d4bd87dc2ba (patch)
tree9f566f5e900de491b2a382489e3eebdb567c224c /app
parent39a55bdf1a1613f362bcd7da444b291210454160 (diff)
downloadgitlab-ce-9c76a6fa96bd3c48dc1a64aecb082d4bd87dc2ba.tar.gz
Show incompatible projects in Google Code import status
Importing a JSON file with only one Subversion project lead to confusion over whether the system was working. Provide status why these projects could not be imported directly. Closes #1531
Diffstat (limited to 'app')
-rw-r--r--app/controllers/import/google_code_controller.rb1
-rw-r--r--app/views/import/google_code/status.html.haml38
2 files changed, 30 insertions, 9 deletions
diff --git a/app/controllers/import/google_code_controller.rb b/app/controllers/import/google_code_controller.rb
index 5adf6ed7853..4aa6d28c9a8 100644
--- a/app/controllers/import/google_code_controller.rb
+++ b/app/controllers/import/google_code_controller.rb
@@ -72,6 +72,7 @@ class Import::GoogleCodeController < Import::BaseController
end
@repos = client.repos
+ @incompatible_repos = client.incompatible_repos
@already_added_projects = current_user.created_projects.where(import_type: "google_code")
already_added_projects_names = @already_added_projects.pluck(:import_source)
diff --git a/app/views/import/google_code/status.html.haml b/app/views/import/google_code/status.html.haml
index 2013b8c03c6..b01b63f2a74 100644
--- a/app/views/import/google_code/status.html.haml
+++ b/app/views/import/google_code/status.html.haml
@@ -2,15 +2,19 @@
%i.fa.fa-google
Import projects from Google Code
-%p.light
- Select projects you want to import.
-%p.light
- Optionally, you can
- = link_to "customize", new_user_map_import_google_code_path
- how Google Code email addresses and usernames are imported into GitLab.
-%hr
-%p
- = button_tag 'Import all projects', class: "btn btn-success js-import-all"
+- if @repos.any?
+ %p.light
+ Select projects you want to import.
+ %p.light
+ Optionally, you can
+ = link_to "customize", new_user_map_import_google_code_path
+ how Google Code email addresses and usernames are imported into GitLab.
+ %hr
+ %p
+ - if @incompatible_repos.any?
+ = button_tag 'Import all compatible projects', class: "btn btn-success js-import-all"
+ - else
+ = button_tag 'Import all projects', class: "btn btn-success js-import-all"
%table.table.import-jobs
%thead
@@ -44,6 +48,22 @@
= "#{current_user.username}/#{repo.name}"
%td.import-actions.job-status
= button_tag "Import", class: "btn js-add-to-import"
+ - @incompatible_repos.each do |repo|
+ %tr{id: "repo_#{repo.id}"}
+ %td
+ = link_to repo.name, "https://code.google.com/p/#{repo.name}", target: "_blank"
+ %td.import-target
+ %td.import-actions-job-status
+ = label_tag "Incompatible Project", nil, class: "label label-danger"
+
+- if @incompatible_repos.any?
+ %p
+ One or more of your Google Code projects cannot be imported into GitLab
+ directly because they use Subversion or Mercurial for version control,
+ rather than Git. Please convert them to Git on Google Code, and go
+ through the
+ = link_to "import flow", new_import_google_code_path
+ again.
:coffeescript
new ImporterStatus("#{jobs_import_google_code_path}", "#{import_google_code_path}")