[#7381] update code importing for GC hosted urls
diff --git a/ForgeImporters/forgeimporters/google/code.py b/ForgeImporters/forgeimporters/google/code.py
index 13d388d..6a3f43c 100644
--- a/ForgeImporters/forgeimporters/google/code.py
+++ b/ForgeImporters/forgeimporters/google/code.py
@@ -42,17 +42,22 @@
 )
 from forgeimporters.google import GoogleCodeProjectExtractor
 from forgeimporters.google import GoogleCodeProjectNameValidator
-
+from forgeimporters.google import split_project_name
 
 REPO_URLS = {
-    'svn': 'http://{0}.googlecode.com/svn/',
-    'git': 'https://code.google.com/p/{0}/',
-    'hg': 'https://code.google.com/p/{0}/',
+    'svn': 'http://{project_name}.googlecode.com/svn/',
+    'svn-hosted': 'http://svn.codespot.com{hosted_domain_prefix}/{project_name}/',
+    'git': 'https://code.google.com{hosted_domain_prefix}/p/{project_name}/',
+    'hg': 'https://code.google.com{hosted_domain_prefix}/p/{project_name}/',
 }
 
 
 def get_repo_url(project_name, type_):
-    return REPO_URLS[type_].format(project_name)
+    hosted_domain_prefix, project_name = split_project_name(project_name)
+    if hosted_domain_prefix and type_ == 'svn':
+        type_ = 'svn-hosted'
+    return REPO_URLS[type_].format(project_name=project_name,
+                                   hosted_domain_prefix=hosted_domain_prefix)
 
 
 class GoogleRepoImportForm(fe.schema.Schema):
diff --git a/ForgeImporters/forgeimporters/google/tests/test_code.py b/ForgeImporters/forgeimporters/google/tests/test_code.py
index b52ec21..1b6cacc 100644
--- a/ForgeImporters/forgeimporters/google/tests/test_code.py
+++ b/ForgeImporters/forgeimporters/google/tests/test_code.py
@@ -48,6 +48,18 @@
         r = get_repo_url('projname', 'hg')
         self.assertEqual(r, 'https://code.google.com/p/projname/')
 
+    def test_svn_hosted(self):
+        r = get_repo_url('a/eclipselabs.org/p/projname', 'svn')
+        self.assertEqual(r, 'http://svn.codespot.com/a/eclipselabs.org/projname/')
+
+    def test_git_hosted(self):
+        r = get_repo_url('a/eclipselabs.org/p/projname', 'git')
+        self.assertEqual(r, 'https://code.google.com/a/eclipselabs.org/p/projname/')
+
+    def test_hg_hosted(self):
+        r = get_repo_url('a/eclipselabs.org/p/projname', 'hg')
+        self.assertEqual(r, 'https://code.google.com/a/eclipselabs.org/p/projname/')
+
 
 class TestGoogleRepoImporter(TestCase):