##// END OF EJS Templates
treemanifest: further optimize treemanifest.matches()...
treemanifest: further optimize treemanifest.matches() The matches function was previously traversing all submanifests to look for matching files, even though it was possible to know if a submanifest won't contain any matches. This change adds a visitdir function on the match object to decide quickly if a directory should be visited when traversing. The function also decides if _all_ subdirectories should be traversed. Adding this logic as methods on the match object also makes the logic modifiable by extensions, such as largefiles. An example of a command this speeds up is running hg status --rev .^ python/ on the Mozilla repo with the treemanifest experiment enabled. It goes from 2.03s to 1.85s. More improvements to speed from this change will happen when treemanifests are lazily loaded. Because a flat manifest is still loaded and then converted into treemanifests, speed improvements are limited. This change has no negative effect on speed. For a worst-case example, this command is not negatively impacted: hg status --rev .^ 'relglob:*.js' on the Mozilla repo. It goes from 2.83s to 2.82s.

File last commit:

r18526:9409aeaa stable
r24636:36872036 default
Show More
tagentry.tmpl
6 lines | 218 B | application/x-cheetah | CheetahLexer
<item>
<title>{tag|escape}</title>
<link>{urlbase}{url|urlescape}rev/{node|short}</link>
<description><![CDATA[{tag|strip|escape|addbreaks}]]></description>
<pubDate>{date|rfc822date}</pubDate>
</item>