mirror of
https://github.com/facebook/sapling.git
synced 2024-10-07 15:27:13 +03:00
hgweb: use latest mtime for caching tag (issue4814)
Previously, we were using the last mtime we saw when reporting the HTTP cache etag. When we added bookmarks to the end of the list of files checked, unchanged or missing bookmarks would keep the client cache from being invalidated.
This commit is contained in:
parent
22eac862eb
commit
5a89fbd24f
@ -131,11 +131,13 @@ class hgweb(object):
|
||||
|
||||
def refresh(self, request=None):
|
||||
repostate = []
|
||||
mtime = 0
|
||||
# file of interrests mtime and size
|
||||
for meth, fname in foi:
|
||||
prefix = getattr(self.repo, meth)
|
||||
st = get_stat(prefix, fname)
|
||||
repostate.append((st.st_mtime, st.st_size))
|
||||
mtime = max(mtime, st.st_mtime)
|
||||
repostate = tuple(repostate)
|
||||
# we need to compare file size in addition to mtime to catch
|
||||
# changes made less than a second ago
|
||||
@ -153,7 +155,7 @@ class hgweb(object):
|
||||
# update these last to avoid threads seeing empty settings
|
||||
self.repostate = repostate
|
||||
# mtime is needed for ETag
|
||||
self.mtime = st.st_mtime
|
||||
self.mtime = mtime
|
||||
if request:
|
||||
self.repo.ui.environ = request.env
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user