[PATCH STABLE] zeroconf: access repo on hgweb_mod properly (issue5036)
Gregory Szorc
gregory.szorc at gmail.com
Mon Jan 18 04:37:47 UTC 2016
# HG changeset patch
# User Gregory Szorc <gregory.szorc at gmail.com>
# Date 1453091849 28800
# Sun Jan 17 20:37:29 2016 -0800
# Branch stable
# Node ID d2c5ad3deccb5a504e2553652b66a4110db68afb
# Parent 3203dfe341f962e33256d6475fc3585563db78ad
zeroconf: access repo on hgweb_mod properly (issue5036)
hgweb_mod.hgweb.repo disappeared in ae33fff17c1e (hg: establish
a cache for localrepository instances) and the code for accessing repo
instances from hgweb was later refactored to go through a cache-aware
context manager.
Adapt zeroconf to access the repo instance via the new API.
diff --git a/hgext/zeroconf/__init__.py b/hgext/zeroconf/__init__.py
--- a/hgext/zeroconf/__init__.py
+++ b/hgext/zeroconf/__init__.py
@@ -108,19 +108,20 @@ def publish(name, desc, path, port):
def zc_create_server(create_server, ui, app):
httpd = create_server(ui, app)
port = httpd.port
try:
repos = app.repos
except AttributeError:
# single repo
- name = app.reponame or os.path.basename(app.repo.root)
- path = app.repo.ui.config("web", "prefix", "").strip('/')
- desc = app.repo.ui.config("web", "description", name)
+ with app._obtainrepo() as repo:
+ name = app.reponame or os.path.basename(repo.root)
+ path = repo.ui.config("web", "prefix", "").strip('/')
+ desc = repo.ui.config("web", "description", name)
publish(name, desc, path, port)
else:
# webdir
prefix = app.ui.config("web", "prefix", "").strip('/') + '/'
for repo, path in repos:
u = app.ui.copy()
u.readconfig(os.path.join(path, '.hg', 'hgrc'))
name = os.path.basename(repo)
More information about the Mercurial-devel
mailing list