# HG changeset patch # User Steven Stallion # Date 1303272110 14400 # Node ID a1c31c64bcd30369ef0e7e9a84d46c16276d30a2 # Parent ac1c75a7c6b56a1fe5bcb14563d3a8788afeaddb hgweb: support disabling page cache By default, hgweb_mod supports caching via the ETag header. This can cause some confusion with browsers which cache aggressively. This change preserves existing behavior while giving the administrator a knob to disable the ETag header. diff -r ac1c75a7c6b5 -r a1c31c64bcd3 doc/hgrc.5.txt --- a/doc/hgrc.5.txt Wed Apr 20 12:44:32 2011 -0500 +++ b/doc/hgrc.5.txt Wed Apr 20 00:01:50 2011 -0400 @@ -1052,6 +1052,8 @@ To disable SSL verification temporarily, specify ``--insecure`` from command line. +``cache`` + Whether to support caching in hgweb. Defaults to True. ``contact`` Name or email address of the person in charge of the repository. Defaults to ui.username or ``$EMAIL`` or "unknown" if unset or empty. diff -r ac1c75a7c6b5 -r a1c31c64bcd3 mercurial/hgweb/hgweb_mod.py --- a/mercurial/hgweb/hgweb_mod.py Wed Apr 20 12:44:32 2011 -0500 +++ b/mercurial/hgweb/hgweb_mod.py Wed Apr 20 00:01:50 2011 -0400 @@ -188,7 +188,8 @@ req.form['cmd'] = [tmpl.cache['default']] cmd = req.form['cmd'][0] - caching(self, req) # sets ETag header or raises NOT_MODIFIED + if self.configbool('web', 'cache', True): + caching(self, req) # sets ETag header or raises NOT_MODIFIED if cmd not in webcommands.__all__: msg = 'no such method: %s' % cmd raise ErrorResponse(HTTP_BAD_REQUEST, msg)