##// END OF EJS Templates
dirstate.status: assign members one by one instead of unpacking the tuple...
dirstate.status: assign members one by one instead of unpacking the tuple With this patch, hg status and hg diff regain their previous speed. The following tests are run against a working copy with over 270,000 files. Here, 'before' means without this or the previous patch applied. Note that in this case `hg perfstatus` isn't representative since it doesn't take dirstate parsing time into account. $ time hg status # best of 5 before: 2.03s user 1.25s system 99% cpu 3.290 total after: 2.01s user 1.25s system 99% cpu 3.261 total $ time hg diff # best of 5 before: 1.32s user 0.78s system 99% cpu 2.105 total after: 1.27s user 0.79s system 99% cpu 2.066 total

File last commit:

r20253:43cfad93 default
r21811:789b69d5 default
Show More
shortlog.tmpl
92 lines | 2.8 KiB | application/x-cheetah | CheetahLexer
{header}
<title>{repo|escape}: log</title>
<link rel="alternate" type="application/atom+xml"
href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}" />
<link rel="alternate" type="application/rss+xml"
href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}" />
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="{logourl}">
<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a>
</div>
<ul>
<li class="active">log</li>
<li><a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li>
</ul>
<ul>
<li><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a></li>
<li><a href="{url|urlescape}file/{node|short}{path|urlescape}{sessionvars%urlparameter}">browse</a></li>
</ul>
<ul>
{archives%archiveentry}
</ul>
<ul>
<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
</ul>
<p>
<div class="atom-logo">
<a href="{url|urlescape}atom-log" title="subscribe to atom feed">
<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed">
</a>
</div>
</div>
<div class="main">
<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2>
<h3>log</h3>
<form class="search" action="{url|urlescape}log">
{sessionvars%hiddenformentry}
<p><input name="rev" id="search1" type="text" size="30" value="{query|escape}" /></p>
<div id="hint">{searchhint}</div>
</form>
<div class="navigate">
<a href="{url|urlescape}shortlog/{rev}{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}shortlog/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navshort}
</div>
<table class="bigtable">
<tr>
<th class="age">age</th>
<th class="author">author</th>
<th class="description">description</th>
</tr>
<tbody class="stripes2">
{entries%shortlogentry}
</tbody>
</table>
<div class="navigate">
<a href="{url|urlescape}shortlog/{rev}{lessvars%urlparameter}">less</a>
<a href="{url|urlescape}shortlog/{rev}{morevars%urlparameter}">more</a>
| rev {rev}: {changenav%navshort}
</div>
<script type="text/javascript">
ajaxScrollInit(
'{url|urlescape}shortlog/%next%{sessionvars%urlparameter}',
'{nextentry%"{node}"}', <!-- NEXTHASH
function (htmlText, previousVal) \{
var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/);
return m ? m[1] : null;
},
'.bigtable > tbody:nth-of-type(2)',
'<tr class="%class%">\\
<td colspan="3" style="text-align: center;">%text%</td>\\
</tr>'
);
</script>
</div>
</div>
{footer}