##// END OF EJS Templates
localrepo: make _refreshfilecachestats unfiltered method to refresh correctly...
localrepo: make _refreshfilecachestats unfiltered method to refresh correctly Before this patch, if transaction is started via "filtered repo" object, _refreshfilecachestats() at closing transaction doesn't refresh file stat of any @filecache properties correctly, because: - _refreshfilecachestats() omits refreshing file stat of a @filecache property, if it doesn't appear in self.__dict__ - if transaction is started via "filtered repo", _refreshfilecachestats() is applied on "filtered repo" because repo.transaction() adds "self._refreshfilecachestats" to post close procedures. repo.transaction() isn't unfiltered method, and "self" in it means "filtered repo" in this case. Transactions started by explicit repo.transaction() easily causes this situation. - _refreshfilecachestats() applied on "filtered repo" omits whole refreshing because @filecache properties are stored into "unfiltered repo", and appear only in self.__dict__ of "unfiltered repo". This incorrect refreshing causes unnecessary reloading from files. To refresh file stat of @filecache properties at closing transaction correctly, this patch makes _refreshfilecachestats() unfiltered method. This patch chooses making _refreshfilecachestats() unfiltered method instead of making transaction() unfiltered method, to reduce unexpected side effect.
FUJIWARA Katsunori -
r29920:e35a83ce default
Show More
Name Size Modified Last Commit Author
/ mercurial / templates / raw
changelog.tmpl Loading ...
changeset.tmpl Loading ...
error.tmpl Loading ...
fileannotate.tmpl Loading ...
filediff.tmpl Loading ...
graph.tmpl Loading ...
graphedge.tmpl Loading ...
graphnode.tmpl Loading ...
index.tmpl Loading ...
logentry.tmpl Loading ...
manifest.tmpl Loading ...
map Loading ...
notfound.tmpl Loading ...
search.tmpl Loading ...