diff options
author | Douwe Maan <douwe@gitlab.com> | 2015-04-30 20:08:45 +0300 |
---|---|---|
committer | Douwe Maan <douwe@gitlab.com> | 2015-04-30 20:08:45 +0300 |
commit | f2cf6d75ecc6082897543f976e8e4bee7ac24e90 (patch) | |
tree | 7b82e44078cc6b5a8db350c0b66893fe2488deca /app | |
parent | 6d22e9674456b921e0f951af10ba18505891ec10 (diff) | |
parent | 9c76a6fa96bd3c48dc1a64aecb082d4bd87dc2ba (diff) |
Merge branch 'show-invalid-projects-google-code-import' into 'master'
Show incompatible projects in Google Code import status
Using Google Code import with a JSON file that contained only one Subversion project led to confusion
over whether the system was working. Display the list of valid projects if there are any, and show a list of incompatible projects. Provide tips on how to retain issue data after conversion.
Closes #1531
## Screenshots
Before:
![Screen_Shot_2015-04-29_at_12.46.41_AM](https://gitlab.com/stanhu/gitlab-ce/uploads/16ea5a99cbace48cd2f2c238b5f73f4e/Screen_Shot_2015-04-29_at_12.46.41_AM.png)
After with no projects available (notice the button is hidden):
![Screen_Shot_2015-04-30_at_1.34.38_AM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/43c612cdcbab181713e5764e2f38a04e/Screen_Shot_2015-04-30_at_1.34.38_AM.png)
After with 1 valid and 1 incompatible project:
![Screen_Shot_2015-04-30_at_1.37.26_AM](https://gitlab.com/gitlab-org/gitlab-ce/uploads/b5bcbd304206a996932e5208ef54a071/Screen_Shot_2015-04-30_at_1.37.26_AM.png)
See merge request !586
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/import/google_code_controller.rb | 1 | ||||
-rw-r--r-- | app/views/import/google_code/status.html.haml | 38 |
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}") |