##// 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.

File last commit:

r26421:4b0fc75f default
r29920:e35a83ce default
Show More
error.tmpl
17 lines | 484 B | application/x-cheetah | CheetahLexer
{header}
<!-- Error -->
<id>{urlbase}{url|urlescape}</id>
<link rel="self" href="{urlbase}{url|urlescape}atom-log"/>
<link rel="alternate" href="{urlbase}{url|urlescape}"/>
<title>Error</title>
<updated>1970-01-01T00:00:00+00:00</updated>
<entry>
<title>Error</title>
<id>https://mercurial-scm.org/#error</id>
<author>
<name>mercurial</name>
</author>
<updated>1970-01-01T00:00:00+00:00</updated>
<content type="text">{error|escape}</content>
</entry>
</feed>