Mercurial > public > mercurial-scm > hg
diff hgext/schemes.py @ 49757:5f71fff8dc74
peer: pass the `path` object to `make_peer`
We don't do anything with it yet, but we can start implementing it for each peer
type starting now.
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Fri, 02 Dec 2022 18:19:59 +0100 |
parents | f075a9463ee7 |
children | bcc45b33efb2 |
line wrap: on
line diff
--- a/hgext/schemes.py Fri Dec 02 18:18:57 2022 +0100 +++ b/hgext/schemes.py Fri Dec 02 18:19:59 2022 +0100 @@ -80,13 +80,12 @@ def __repr__(self): return b'<ShortRepository: %s>' % self.scheme - def make_peer(self, ui, url, *args, **kwargs): - url = self.resolve(url) - u = urlutil.url(url) - scheme = u.scheme or b'file' - cls = hg.peer_schemes.get(scheme) + def make_peer(self, ui, path, *args, **kwargs): + new_url = self.resolve(path.rawloc) + path = path.copy(new_raw_location=new_url) + cls = hg.peer_schemes.get(path.url.scheme) if cls is not None: - return cls.make_peer(ui, url, *args, **kwargs) + return cls.make_peer(ui, path, *args, **kwargs) return None def instance(self, ui, url, create, intents=None, createopts=None):