Patchwork [1,of,2,v5] schemes: extract scheme expansion as its own method on ShortRepository

login
register
mail settings
Submitter Jason R. Coombs
Date Feb. 4, 2016, 3:21 p.m.
Message ID <b494927d0e972f03b7b9.1454599268@waste.org>
Download mbox | patch
Permalink /patch/12978/
State Accepted
Delegated to: Yuya Nishihara
Headers show

Comments

Jason R. Coombs - Feb. 4, 2016, 3:21 p.m.
# HG changeset patch
# User Jason R. Coombs <jaraco@jaraco.com>
# Date 1454096441 18000
#      Fri Jan 29 14:40:41 2016 -0500
# Node ID b494927d0e972f03b7b9e7d4c203cc35516ebd8f
# Parent  01a5143cd25f285f8c745a92986cd7186bb32c90
schemes: extract scheme expansion as its own method on ShortRepository

Patch

diff --git a/hgext/schemes.py b/hgext/schemes.py
--- a/hgext/schemes.py
+++ b/hgext/schemes.py
@@ -65,6 +65,10 @@ 
         return '<ShortRepository: %s>' % 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: