mercurial/httprepo.py
changeset 7211 25c0dee16ee0
parent 7207 fe0a4ed4634f
child 7269 95a53961d7a6
equal deleted inserted replaced
7210:833d1250ce00 7211:25c0dee16ee0
     4 # Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
     4 # Copyright 2006 Vadim Gelfer <vadim.gelfer@gmail.com>
     5 #
     5 #
     6 # This software may be used and distributed according to the terms
     6 # This software may be used and distributed according to the terms
     7 # of the GNU General Public License, incorporated herein by reference.
     7 # of the GNU General Public License, incorporated herein by reference.
     8 
     8 
     9 from node import bin, hex
     9 from node import bin, hex, nullid
    10 from i18n import _
    10 from i18n import _
    11 import repo, os, urllib, urllib2, urlparse, zlib, util, httplib
    11 import repo, os, urllib, urllib2, urlparse, zlib, util, httplib
    12 import errno, keepalive, socket, changegroup
    12 import errno, keepalive, socket, changegroup, statichttprepo
    13 
    13 
    14 class passwordmgr(urllib2.HTTPPasswordMgrWithDefaultRealm):
    14 class passwordmgr(urllib2.HTTPPasswordMgrWithDefaultRealm):
    15     def __init__(self, ui):
    15     def __init__(self, ui):
    16         urllib2.HTTPPasswordMgrWithDefaultRealm.__init__(self)
    16         urllib2.HTTPPasswordMgrWithDefaultRealm.__init__(self)
    17         self.ui = ui
    17         self.ui = ui
   453         httprepository.__init__(self, ui, path)
   453         httprepository.__init__(self, ui, path)
   454 
   454 
   455 def instance(ui, path, create):
   455 def instance(ui, path, create):
   456     if create:
   456     if create:
   457         raise util.Abort(_('cannot create new http repository'))
   457         raise util.Abort(_('cannot create new http repository'))
   458     if path.startswith('https:'):
   458     try:
   459         return httpsrepository(ui, path)
   459         if path.startswith('https:'):
   460     return httprepository(ui, path)
   460             inst = httpsrepository(ui, path)
       
   461         else:
       
   462             inst = httprepository(ui, path)
       
   463         inst.between([(nullid, nullid)])
       
   464         return inst
       
   465     except repo.RepoError:
       
   466         ui.note('(falling back to static-http)\n')
       
   467         return statichttprepo.instance(ui, "static-" + path, create)