diff --git a/kallithea/lib/utils2.py b/kallithea/lib/utils2.py --- a/kallithea/lib/utils2.py +++ b/kallithea/lib/utils2.py @@ -469,7 +469,7 @@ def uri_filter(uri): proto = '' - for pat in ('https://', 'http://'): + for pat in ('https://', 'http://', 'git://'): if uri.startswith(pat): uri = uri[len(pat):] proto = pat diff --git a/kallithea/lib/vcs/backends/git/repository.py b/kallithea/lib/vcs/backends/git/repository.py --- a/kallithea/lib/vcs/backends/git/repository.py +++ b/kallithea/lib/vcs/backends/git/repository.py @@ -174,6 +174,9 @@ class GitRepository(BaseRepository): if os.path.isdir(url) or url.startswith('file:'): return True + if url.startswith('git://'): + return True + if '+' in url[:url.find('://')]: url = url[url.find('+') + 1:] diff --git a/kallithea/model/validators.py b/kallithea/model/validators.py --- a/kallithea/model/validators.py +++ b/kallithea/model/validators.py @@ -458,7 +458,7 @@ def ValidCloneUri(): elif repo_type == 'git': from kallithea.lib.vcs.backends.git.repository import GitRepository - if url.startswith('http'): + if url.startswith('http') or url.startswith('git'): # initially check if it's at least the proper URL # or does it pass basic auth GitRepository._check_url(url)