view mercurial/templates/paper/changeset.tmpl @ 35485:1721ce06100a

hgweb: display fate of obsolete changesets Operations that obsolete changesets store enough metadata to explain what happened after the fact. One way to get that metadata is showsuccsandmarkers function, which returns a list of successors of a particular changeset and appropriate obsolescence markers. Templates have a set of experimental functions that have names starting with obsfate. This patch uses some of these functions to interpret output of succsandmarkers() and produce human-friendly messages that describe what happened to an obsolete changeset, e.g. "pruned" or "rewritten as 6:3de5eca88c00". In commonentry(), succsandmarkers property is made callable so it's only executed on demand; this saves time when changeset is not obsolete, and also in e.g. /shortlog view, where there are a lot of changesets, but we don't need to show each and every one in detail. In spartan theme, succsandmarkers is used instead of the simple "obsolete: yes", in other themes a new line is added to /rev page.
author Anton Shestakov <av6@dwimlabs.net>
date Tue, 21 Nov 2017 17:03:41 +0800
parents 9acc0360ff67
children f3fd4fe0506f
line wrap: on
line source

{header}
<title>{repo|escape}: {node|short}</title>
</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><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li>
 <li><a href="{url|urlescape}graph/{symrev}{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 class="active">changeset</li>
 <li><a href="{url|urlescape}raw-rev/{symrev}{sessionvars%urlparameter}">raw</a></li>
 <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">browse</a></li>
</ul>
<ul>
 {archives%archiveentry}
</ul>
<ul>
 <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>
</ul>
</div>

<div class="main">

<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2>
<h3>
 changeset {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>
 {alltags}
</h3>

{searchform}

<div class="description">{desc|strip|escape|websub|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>
{if(obsolete, '<tr>
 <th>obsolete</th>
 <td>{succsandmarkers%obsfateentry}</td>
</tr>')}
<tr>
 <th class="author">parents</th>
 <td class="author">{ifeq(count(parent), '2', parent%changesetparentdiff, 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:toggleDiffstat()">[<tt>+</tt>]</a>
    <div id="diffstatdetails" style="display:none;">
      <a href="javascript:toggleDiffstat()">[<tt>-</tt>]</a>
      <table class="diffstat-table stripes2">{diffstat}</table>
    </div>
  </td>
</tr>
</table>

<div class="overflow">
<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="javascript:toggleLinewrap()">on</a></div>
<div class="sourcefirst"> line diff</div>
<div class="stripes2 diffblocks">
{diff}
</div>
</div>

</div>
</div>
{footer}