##// END OF EJS Templates
hgweb: display fate of obsolete changesets...
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.

File last commit:

r35501:1721ce06 default
r35501:1721ce06 default
Show More
changelogentry.tmpl
37 lines | 1.2 KiB | application/x-cheetah | CheetahLexer
<table class="logEntry parity{parity}">
<tr>
<th class="label"><span class="age">{date|rfc822date}</span>:</th>
<th class="firstline">{desc|strip|firstline|escape|nonempty}</th>
</tr>
<tr>
<th class="revision">changeset {rev}:</th>
<td class="node"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td>
</tr>
{parent%changelogparent}
{child%changelogchild}
{changelogtag}
<tr>
<th class="author">author:</th>
<td class="author">{author|obfuscate}</td>
</tr>
<tr>
<th class="date">date:</th>
<td class="date">{date|rfc822date}</td>
</tr>
{ifeq(phase, 'public', '', '<tr>
<th class="phase">phase:</th>
<td class="phase">{phase|escape}</td>
</tr>')}
{if(obsolete, '<tr>
<th class="obsolete">obsolete:</th>
<td class="obsolete">{succsandmarkers%obsfateentry}</td>
</tr>')}
{ifeq(count(instabilities), '0', '', '<tr>
<th class="instabilities">instabilities:</th>
<td class="instabilities">{instabilities%"{instability} "|escape}</td>
</tr>')}
<tr>
<th class="files"><a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>:</th>
<td class="files">{files}</td>
</tr>
</table>