hgweb: display diff for a changeset against any parents (
issue2810)
During merge of branches, it is useful to compare merge results against
the two parents. This change adds this support to hgweb. To specify
which parent to compare to, use rev/12300:12345 where 12300 is a
parent changeset number. Two links are added to changeset web page so
that one can choose which parent to compare to.
{header}
<title>{repo|escape}: {node|short}</title>
</head>
<body>
<div class="container">
<div class="menu">
<div class="logo">
<a href="{logourl}">
<img src="{staticurl}{logoimg}" alt="mercurial" /></a>
</div>
<ul>
<li><a href="{url}shortlog/{node|short}{sessionvars%urlparameter}">log</a></li>
<li><a href="{url}graph/{node|short}{sessionvars%urlparameter}">graph</a></li>
<li><a href="{url}tags{sessionvars%urlparameter}">tags</a></li>
<li><a href="{url}bookmarks{sessionvars%urlparameter}">bookmarks</a></li>
<li><a href="{url}branches{sessionvars%urlparameter}">branches</a></li>
</ul>
<ul>
<li class="active">changeset</li>
<li><a href="{url}raw-rev/{node|short}{sessionvars%urlparameter}">raw</a></li>
<li><a href="{url}file/{node|short}{sessionvars%urlparameter}">browse</a></li>
</ul>
<ul>
{archives%archiveentry}
</ul>
<ul>
<li><a href="{url}help{sessionvars%urlparameter}">help</a></li>
</ul>
</div>
<div class="main">
<h2><a href="{url}{sessionvars%urlparameter}">{repo|escape}</a></h2>
<h3>changeset {rev}:{node|short} {changesetbranch%changelogbranchname} {changesettag} {changesetbookmark}</h3>
<form class="search" action="{url}log">
{sessionvars%hiddenformentry}
<p><input name="rev" id="search1" type="text" size="30" /></p>
<div id="hint">find changesets by author, revision,
files, or words in the commit message</div>
</form>
<div class="description">{desc|strip|escape|nonempty}</div>
<table id="changesetEntry">
<tr>
<th class="author">author</th>
<td class="author">{author|obfuscate}</td>
</tr>
<tr>
<th class="date">date</th>
<td class="date age">{date|rfc822date}</td></tr>
<tr>
<th class="author">parents</th>
<td class="author">{parent%changesetparent}</td>
</tr>
<tr>
<th class="author">children</th>
<td class="author">{child%changesetchild}</td>
</tr>
<tr>
<th class="files">files</th>
<td class="files">{files}</td>
</tr>
<tr>
<th class="diffstat">diffstat</th>
<td class="diffstat">
{diffsummary}
<a id="diffstatexpand" href="javascript:showDiffstat()"/>[<tt>+</tt>]</a>
<div id="diffstatdetails" style="display:none;">
<a href="javascript:hideDiffstat()"/>[<tt>-</tt>]</a>
<p>
<table>{diffstat}</table>
</div>
</td>
</tr>
<tr>
<th class="author">change baseline</th>
<td class="author">{parent%changesetbaseline}</td>
</tr>
<tr>
<th class="author">current baseline</th>
<td class="author"><a href="{url}rev/{currentbaseline|short}{sessionvars%urlparameter}">{currentbaseline|short}</a></td>
</tr>
</table>
<div class="overflow">
<div class="sourcefirst"> line diff</div>
{diff}
</div>
</div>
</div>
{footer}