[PATCH 1 of 3 v2] schemes: extract scheme expansion as its own method on ShortRepository

Jason R. Coombs jaraco at jaraco.com
Mon Feb 1 14:09:43 UTC 2016


# HG changeset patch
# User Jason R. Coombs <jaraco at jaraco.com>
# Date 1454096441 18000
#      Fri Jan 29 14:40:41 2016 -0500
# Node ID 315d5f0fdf71c4f173a09916d11133103fdbec1c
# Parent  d73a5ab18015f61ac61e6e77256512fd82b03818
schemes: extract scheme expansion as its own method on ShortRepository

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(ui, url)
+        return hg._peerlookup(url).instance(ui, url, create)
+
+    def resolve(self, ui, 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:


More information about the Mercurial-devel mailing list