diff mercurial/hgweb/hgweb_mod.py @ 22223:c39d404f0eb0

hgweb: refresh repository using URL not path (issue4323) hgweb detects out-of-date repository instances (using a highly suspect mechanism that should probably be fixed) and obtains a new repository object if needed. This patch changes the repository object copy to use the repo URL (instead of path). This preserves more information about the source repository and allows bundles to be served through hgweb. A test verifying that bundles can now be served properly via `hg serve` has been added.
author Gregory Szorc <gregory.szorc@gmail.com>
date Mon, 18 Aug 2014 12:12:57 -0700
parents b27c3beaaf30
children 4109cc16279e
line wrap: on
line diff
--- a/mercurial/hgweb/hgweb_mod.py	Tue Aug 19 10:01:06 2014 -0700
+++ b/mercurial/hgweb/hgweb_mod.py	Mon Aug 18 12:12:57 2014 -0700
@@ -110,7 +110,7 @@
         # compare changelog size in addition to mtime to catch
         # rollbacks made less than a second ago
         if st.st_mtime != self.mtime or st.st_size != self.size:
-            r = hg.repository(self.repo.baseui, self.repo.root)
+            r = hg.repository(self.repo.baseui, self.repo.url())
             self.repo = self._getview(r)
             self.maxchanges = int(self.config("web", "maxchanges", 10))
             self.stripecount = int(self.config("web", "stripes", 1))