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

Jason R. Coombs jaraco at jaraco.com
Fri Jan 29 20:13:55 UTC 2016


# HG changeset patch
# User Jason R. Coombs <jaraco at jaraco.com>
# Date 1454096441 18000
#      Fri Jan 29 14:40:41 2016 -0500
# Branch stable
# Node ID 69854d00f42654a31d113294024f50c9e81e8779
# Parent  7cb7264cfd52d2672644db4bc16a0bd50aa093ca
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