[PATCH 22 of 22 V2-Series-D] hgweb: run with "unserved" filter

Pierre-Yves David pierre-yves.david at ens-lyon.org
Mon Jan 14 14:35:54 CST 2013


# HG changeset patch
# User Pierre-Yves David <pierre-yves.david at logilab.fr>
# Date 1358195047 -3600
# Node ID f30baff6c74e86d26fa4cddb636e61dfcbcf7cdd
# Parent  cb0e659e3a904ae17a95bb662f2b1a9b36156b1e
hgweb: run with "unserved" filter

This changeset enable the "unserved" filter on all repo used by hgweb.

Hgweb misbehave in a lot of when filtering changeset are present but I do not
expect normal people to have secret of obsolete changeset on they server.
Misbehavior will be gradually fixed later.

diff --git a/mercurial/hgweb/hgweb_mod.py b/mercurial/hgweb/hgweb_mod.py
--- a/mercurial/hgweb/hgweb_mod.py
+++ b/mercurial/hgweb/hgweb_mod.py
@@ -57,10 +57,11 @@ class hgweb(object):
                 u = ui.ui()
             self.repo = hg.repository(u, repo)
         else:
             self.repo = repo
 
+        self.repo =  self.repo.filtered('unserved')
         self.repo.ui.setconfig('ui', 'report_untrusted', 'off')
         self.repo.ui.setconfig('ui', 'nontty', 'true')
         hook.redirect(True)
         self.mtime = -1
         self.size = -1
@@ -93,10 +94,11 @@ class hgweb(object):
         # rollbacks made less than a second ago
         if st.st_mtime != self.mtime or st.st_size != self.size:
             self.mtime = st.st_mtime
             self.size = st.st_size
             self.repo = hg.repository(self.repo.ui, self.repo.root)
+            self.repo =  self.repo.filtered('unserved')
             self.maxchanges = int(self.config("web", "maxchanges", 10))
             self.stripecount = int(self.config("web", "stripes", 1))
             self.maxshortchanges = int(self.config("web", "maxshortchanges",
                                                    60))
             self.maxfiles = int(self.config("web", "maxfiles", 10))


More information about the Mercurial-devel mailing list