diff --git a/CHANGELOG b/CHANGELOG
index ecffcb5262cadfecc85b04f939a5be101b8ffaef..63a5bd3d6b3349d58e0f819a07374184079b589f 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -19,7 +19,7 @@ v 7.11.0 (unreleased)
   - Include commit comments in MR from a forked project.
   - Fix adding new group members from admin area
   - Add default project and snippet visibility settings to the admin web UI.
-  -
+  - Show incompatible projects in Google Code import status (Stan Hu)
   - Fix bug where commit data would not appear in some subdirectories (Stan Hu)
   - Fix bug where Slack service channel was not saved in admin template settings. (Stan Hu)
   - Move snippets UI to fluid layout
diff --git a/app/controllers/import/google_code_controller.rb b/app/controllers/import/google_code_controller.rb
index 5adf6ed7853d655e471a590c5a7f394b28d45c30..4aa6d28c9a803a9e875123b3ea3edcc3f1e64e9b 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 2013b8c03c6e59489e27b6ee11650c89dbcc6b16..b01b63f2a7452959f9b447aa1915128027834d12 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}")
diff --git a/lib/gitlab/google_code_import/client.rb b/lib/gitlab/google_code_import/client.rb
index 02f31e45f885f8b753610eac2bec2e786286c227..890bd9a35541e1fff14c728957ec9ade908ad2a1 100644
--- a/lib/gitlab/google_code_import/client.rb
+++ b/lib/gitlab/google_code_import/client.rb
@@ -21,6 +21,10 @@ module Gitlab
         @repos ||= raw_data["projects"].map { |raw_repo| GoogleCodeImport::Repository.new(raw_repo) }.select(&:git?)
       end
 
+      def incompatible_repos
+        @incompatible_repos ||= raw_data["projects"].map { |raw_repo| GoogleCodeImport::Repository.new(raw_repo) }.reject(&:git?)
+      end
+
       def repo(id)
         repos.find { |repo| repo.id == id }
       end
diff --git a/spec/controllers/import/google_code_controller_spec.rb b/spec/controllers/import/google_code_controller_spec.rb
index 037cddb460020c34af6a489de6707f0a86f02fd6..78c0f5079cc6ee6157ff7a35486493e178dda94c 100644
--- a/spec/controllers/import/google_code_controller_spec.rb
+++ b/spec/controllers/import/google_code_controller_spec.rb
@@ -27,21 +27,34 @@ describe Import::GoogleCodeController do
     it "assigns variables" do
       @project = create(:project, import_type: 'google_code', creator_id: user.id)
       controller.stub_chain(:client, :repos).and_return([@repo])
+      controller.stub_chain(:client, :incompatible_repos).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
       @project = create(:project, import_type: 'google_code', creator_id: user.id, import_source: 'vim')
       controller.stub_chain(:client, :repos).and_return([@repo])
+      controller.stub_chain(:client, :incompatible_repos).and_return([])
 
       get :status
 
       expect(assigns(:already_added_projects)).to eq([@project])
       expect(assigns(:repos)).to eq([])
     end
+
+    it "does not show any invalid projects" do
+      controller.stub_chain(:client, :repos).and_return([])
+      controller.stub_chain(:client, :incompatible_repos).and_return([@repo])
+
+      get :status
+
+      expect(assigns(:repos)).to be_empty
+      expect(assigns(:incompatible_repos)).to eq([@repo])
+    end
   end
 end
diff --git a/spec/lib/gitlab/google_code_import/client_spec.rb b/spec/lib/gitlab/google_code_import/client_spec.rb
index d2bf871daa8bd1133375669d7a6e53c61258490d..a66b811e0fd1df3b48ee4f5ee82873fdc35caca5 100644
--- a/spec/lib/gitlab/google_code_import/client_spec.rb
+++ b/spec/lib/gitlab/google_code_import/client_spec.rb
@@ -23,6 +23,7 @@ describe Gitlab::GoogleCodeImport::Client do
   describe "#repos" do
     it "returns only Git repositories" do
       expect(subject.repos.length).to eq(1)
+      expect(subject.incompatible_repos.length).to eq(1)
     end
   end