graphlog: pass changesets to revset.match() in changelog order
Running:
$ time hg debugrevspec 'user(mpm)' | wc
on Mercurial repository takes 1.0s with a regular version and 1.8s if
commands.debugrevspec() is patched to pass revisions to revset.match() from tip
to 0.
Depending on what we expect from the revset API and caller wisdom, we might
want to push this change in revset.match() later.
{header}
<title>{repo|escape}: changelog</title>
<link rel="alternate" type="application/atom+xml"
href="{url}atom-log" title="Atom feed for {repo|escape}">
<link rel="alternate" type="application/rss+xml"
href="{url}rss-log" title="RSS feed for {repo|escape}">
</head>
<body>
<div class="buttons">
<a href="{url}shortlog/{rev}{sessionvars%urlparameter}">shortlog</a>
<a href="{url}graph{sessionvars%urlparameter}">graph</a>
<a href="{url}tags{sessionvars%urlparameter}">tags</a>
<a href="{url}branches{sessionvars%urlparameter}">branches</a>
<a href="{url}file/{node|short}{sessionvars%urlparameter}">files</a>
{archives%archiveentry}
<a href="{url}help{sessionvars%urlparameter}">help</a>
<a type="application/rss+xml" href="{url}rss-log">rss</a>
<a type="application/atom+xml" href="{url}atom-log" title="Atom feed for {repo|escape}">atom</a>
</div>
<h2>changelog for {repo|escape}</h2>
<form action="{url}log">
{sessionvars%hiddenformentry}
<p>
<label for="search1">search:</label>
<input name="rev" id="search1" type="text" size="30">
navigate: <small class="navigate">{changenav%nav}</small>
</p>
</form>
{entries%changelogentry}
<form action="{url}log">
{sessionvars%hiddenformentry}
<p>
<label for="search2">search:</label>
<input name="rev" id="search2" type="text" size="30">
navigate: <small class="navigate">{changenav%nav}</small>
</p>
</form>
{footer}