diff -r 01a5143cd25f -r d630eac3a5db hgext/schemes.py --- a/hgext/schemes.py Wed Feb 03 16:24:24 2016 -0600 +++ b/hgext/schemes.py Fri Jan 29 14:40:41 2016 -0500 @@ -65,6 +65,10 @@ return '' % self.scheme def instance(self, ui, url, create): + url = self.resolve(url) + return hg._peerlookup(url).instance(ui, url, create) + + def resolve(self, url): # Should this use the util.url class, or is manual parsing better? try: url = url.split('://', 1)[1] @@ -77,8 +81,7 @@ else: tail = '' context = dict((str(i + 1), v) for i, v in enumerate(parts)) - url = ''.join(self.templater.process(self.url, context)) + tail - return hg._peerlookup(url).instance(ui, url, create) + return ''.join(self.templater.process(self.url, context)) + tail def hasdriveletter(orig, path): if path: