zeroconf: fix hgweb published URLs (issue1819)
authorPatrick Mezard <pmezard@gmail.com>
Sun, 13 Sep 2009 17:23:47 +0200
changeset 9442 080227f584a1
parent 9441 25c41ddb3978
child 9443 7805b27e92b1
child 9448 bc6b0fef9495
zeroconf: fix hgweb published URLs (issue1819)
hgext/zeroconf/__init__.py
--- a/hgext/zeroconf/__init__.py	Wed Sep 09 18:38:39 2009 +0900
+++ b/hgext/zeroconf/__init__.py	Sun Sep 13 17:23:47 2009 +0200
@@ -101,17 +101,20 @@
     def __init__(self, repo, name=None):
         super(hgwebzc, self).__init__(repo, name)
         name = self.reponame or os.path.basename(repo.root)
+        path = self.repo.ui.config("web", "prefix", "").strip('/')
         desc = self.repo.ui.config("web", "description", name)
-        publish(name, desc, name, int(repo.ui.config("web", "port", 8000)))
+        publish(name, desc, path, int(repo.ui.config("web", "port", 8000)))
 
 class hgwebdirzc(hgwebdir_mod.hgwebdir):
-    def run(self):
+    def __init__(self, conf, baseui=None):
+        super(hgwebdirzc, self).__init__(conf, baseui)
+        prefix = self.ui.config("web", "prefix", "").strip('/') + '/'
         for r, p in self.repos:
             u = self.ui.copy()
             u.readconfig(os.path.join(p, '.hg', 'hgrc'))
             n = os.path.basename(r)
-            publish(n, "hgweb", p, int(u.config("web", "port", 8000)))
-        return super(hgwebdirzc, self).run()
+            path = (prefix + r).strip('/')
+            publish(n, "hgweb", path, int(u.config("web", "port", 8000)))
 
 # listen