parent
a1e6fc157f
commit
d7accda1ae
5 changed files with 37 additions and 6 deletions
|
@ -1,6 +1,7 @@
|
|||
Please view this file on the master branch, on stable branches it's out of date.
|
||||
|
||||
v 7.14.0 (unreleased)
|
||||
- Show incompatible projects in Bitbucket import status (Stan Hu)
|
||||
- Fix coloring of diffs on MR Discussion-tab (Gert Goet)
|
||||
- Fix "Network" and "Graphs" pages for branches with encoded slashes (Stan Hu)
|
||||
- Fix errors deleting and creating branches with encoded slashes (Stan Hu)
|
||||
|
|
|
@ -22,6 +22,7 @@ class Import::BitbucketController < Import::BaseController
|
|||
|
||||
def status
|
||||
@repos = client.projects
|
||||
@incompatible_repos = client.incompatible_projects
|
||||
|
||||
@already_added_projects = current_user.created_projects.where(import_type: "bitbucket")
|
||||
already_added_projects_names = @already_added_projects.pluck(:import_source)
|
||||
|
|
|
@ -3,11 +3,16 @@
|
|||
%i.fa.fa-bitbucket
|
||||
Import projects from Bitbucket
|
||||
|
||||
%p.light
|
||||
Select projects you want to import.
|
||||
%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.
|
||||
%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
|
||||
|
@ -41,6 +46,24 @@
|
|||
= "#{repo["owner"]}/#{repo["slug"]}"
|
||||
%td.import-actions.job-status
|
||||
= button_tag "Import", class: "btn js-add-to-import"
|
||||
- @incompatible_repos.each do |repo|
|
||||
%tr{id: "repo_#{repo["owner"]}___#{repo["slug"]}"}
|
||||
%td
|
||||
= link_to "#{repo["owner"]}/#{repo["slug"]}", "https://bitbucket.org/#{repo["owner"]}/#{repo["slug"]}", 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 Bitbucket projects cannot be imported into GitLab
|
||||
directly because they use Subversion or Mercurial for version control,
|
||||
rather than Git. Please convert
|
||||
= link_to "them to Git,", "https://www.atlassian.com/git/tutorials/migrating-overview"
|
||||
and go through the
|
||||
= link_to "import flow", status_import_bitbucket_path
|
||||
again.
|
||||
|
||||
|
||||
:coffeescript
|
||||
new ImporterStatus("#{jobs_import_bitbucket_path}", "#{import_bitbucket_path}")
|
||||
|
|
|
@ -87,6 +87,10 @@ module Gitlab
|
|||
JSON.parse(get("/api/1.0/user/repositories").body).select { |repo| repo["scm"] == "git" }
|
||||
end
|
||||
|
||||
def incompatible_projects
|
||||
JSON.parse(get("/api/1.0/user/repositories").body).reject { |repo| repo["scm"] == "git" }
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def get(url)
|
||||
|
|
|
@ -39,12 +39,14 @@ describe Import::BitbucketController do
|
|||
|
||||
it "assigns variables" do
|
||||
@project = create(:project, import_type: 'bitbucket', creator_id: user.id)
|
||||
stub_client(projects: [@repo])
|
||||
client = stub_client(projects: [@repo])
|
||||
allow(client).to receive(:incompatible_projects).and_return([])
|
||||
|
||||
get :status
|
||||
|
||||
expect(assigns(:already_added_projects)).to eq([@project])
|
||||
expect(assigns(:repos)).to eq([@repo])
|
||||
expect(assigns(:incompatible_repos)).to eq([])
|
||||
end
|
||||
|
||||
it "does not show already added project" do
|
||||
|
|
Loading…
Reference in a new issue