# HG changeset patch # User Dov Feldstern # Date 1392249618 -7200 # Node ID f933e3930f786c90c32fa5829b1a6aa70676928c # Parent ca7fc2d23a21b65932319edcbd1b468260a59559 fallback to unauthenticated http(s) access when using older dulwich diff --git a/hggit/git_handler.py b/hggit/git_handler.py --- a/hggit/git_handler.py +++ b/hggit/git_handler.py @@ -1378,7 +1378,15 @@ else: auth_handler = urllib2.HTTPBasicAuthHandler(AuthManager(self.ui)) opener = urllib2.build_opener(auth_handler) - return client.HttpGitClient(uri, opener=opener, thin_packs=False), uri + try: + return client.HttpGitClient(uri, opener=opener, thin_packs=False), uri + except TypeError as e: + if e.message.find("unexpected keyword argument 'opener'") >= 0: + # using a version of dulwich that doesn't support + # http(s) authentication -- try without authentication + return client.HttpGitClient(uri, thin_packs=False), uri + else: + raise # if its not git or git+ssh, try a local url.. return client.SubprocessGitClient(thin_packs=False), uri