Mercurial > hg
comparison 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 |
comparison
equal
deleted
inserted
replaced
35484:1853c8677160 | 35485:1721ce06100a |
---|---|
47 </tr> | 47 </tr> |
48 <tr> | 48 <tr> |
49 <th class="date">date</th> | 49 <th class="date">date</th> |
50 <td class="date age">{date|rfc822date}</td> | 50 <td class="date age">{date|rfc822date}</td> |
51 </tr> | 51 </tr> |
52 {if(obsolete, '<tr> | |
53 <th>obsolete</th> | |
54 <td>{succsandmarkers%obsfateentry}</td> | |
55 </tr>')} | |
52 <tr> | 56 <tr> |
53 <th class="author">parents</th> | 57 <th class="author">parents</th> |
54 <td class="author">{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)}</td> | 58 <td class="author">{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)}</td> |
55 </tr> | 59 </tr> |
56 <tr> | 60 <tr> |