diff --git a/git_config.py b/git_config.py index 17937649..eb532d02 100644 --- a/git_config.py +++ b/git_config.py @@ -488,7 +488,7 @@ def close_ssh(): _master_keys_lock = None URI_SCP = re.compile(r'^([^@:]*@?[^:/]{1,}):') -URI_ALL = re.compile(r'^([a-z][a-z+]*)://([^@/]*@?[^/]*)/') +URI_ALL = re.compile(r'^([a-z][a-z+-]*)://([^@/]*@?[^/]*)/') def GetSchemeFromUrl(url): m = URI_ALL.match(url) diff --git a/project.py b/project.py index 1c5f051b..9b23b116 100644 --- a/project.py +++ b/project.py @@ -1449,6 +1449,8 @@ class Project(object): remote = self.GetRemote(self.remote.name) bundle_url = remote.url + '/clone.bundle' bundle_url = GitConfig.ForUser().UrlInsteadOf(bundle_url) + if GetSchemeFromUrl(bundle_url) in ('persistent-http', 'persistent-https'): + bundle_url = bundle_url[len('persistent-'):] if GetSchemeFromUrl(bundle_url) not in ('http', 'https'): return False