mercurial/hg.py
changeset 20860 81d6dc8c3c63
parent 20829 9a09a625bc93
parent 20858 bc56ec9e64df
child 20870 6500a2eebee8
equal deleted inserted replaced
20856:8a6a86c9a5b5 20860:81d6dc8c3c63
    96     if pathurl.islocal():
    96     if pathurl.islocal():
    97         return util.posixfile(pathurl.localpath(), 'rb')
    97         return util.posixfile(pathurl.localpath(), 'rb')
    98     else:
    98     else:
    99         return url.open(ui, path)
    99         return url.open(ui, path)
   100 
   100 
       
   101 # a list of (ui, repo) functions called for wire peer initialization
       
   102 wirepeersetupfuncs = []
       
   103 
   101 def _peerorrepo(ui, path, create=False):
   104 def _peerorrepo(ui, path, create=False):
   102     """return a repository object for the specified path"""
   105     """return a repository object for the specified path"""
   103     obj = _peerlookup(path).instance(ui, path, create)
   106     obj = _peerlookup(path).instance(ui, path, create)
   104     ui = getattr(obj, "ui", ui)
   107     ui = getattr(obj, "ui", ui)
   105     for name, module in extensions.extensions(ui):
   108     for name, module in extensions.extensions(ui):
   106         hook = getattr(module, 'reposetup', None)
   109         hook = getattr(module, 'reposetup', None)
   107         if hook:
   110         if hook:
   108             hook(ui, obj)
   111             hook(ui, obj)
       
   112     if not obj.local():
       
   113         for f in wirepeersetupfuncs:
       
   114             f(ui, obj)
   109     return obj
   115     return obj
   110 
   116 
   111 def repository(ui, path='', create=False):
   117 def repository(ui, path='', create=False):
   112     """return a repository object for the specified path"""
   118     """return a repository object for the specified path"""
   113     peer = _peerorrepo(ui, path, create)
   119     peer = _peerorrepo(ui, path, create)