Mercurial > hg
view mercurial/templates/coal/map @ 23740:9e1f4c65f5f5
hgweb: allow viewing diffs against p1 or p2 for merge commits (issue3904)
This adds UI portion of the feature that has resided in mercurial since 2012.
Back then the interface was added together with the code, but was shortly
backed out because it was deemed "not ready". Code, however, stayed.
For the original feature and its implementation, see issue2810 and
d605a82cf189.
In short, the backed-out interface had two outstanding issues:
1. it was introducing an entirely new term (baseline) and
2. it was present on every changeset's page, even for changesets with 1 parent
(or no parents), which didn't make sense
This patch implements a hopefully better interface because:
1. it uses the usual terms (diff) and
2. it only shows up when there actually are 2 parents.
author | Anton Shestakov <engored@ya.ru> |
---|---|
date | Sat, 03 Jan 2015 17:50:21 +0800 |
parents | 0bba1ff2ac7b |
children | ee1bf2b5a780 |
line wrap: on
line source
default = 'shortlog' mimetype = 'text/html; charset={encoding}' header = header.tmpl footer = ../paper/footer.tmpl search = ../paper/search.tmpl changelog = ../paper/shortlog.tmpl shortlog = ../paper/shortlog.tmpl shortlogentry = ../paper/shortlogentry.tmpl graph = ../paper/graph.tmpl help = ../paper/help.tmpl helptopics = ../paper/helptopics.tmpl helpentry = ' <tr><td> <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}"> {topic|escape} </a> </td><td> {summary|escape} </td></tr>' naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' filenodelink = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' filenolink = '{file|escape} ' fileellipses = '...' diffstatlink = ../paper/diffstat.tmpl diffstatnolink = ../paper/diffstat.tmpl changelogentry = ../paper/shortlogentry.tmpl searchentry = ../paper/shortlogentry.tmpl changeset = ../paper/changeset.tmpl manifest = ../paper/manifest.tmpl nav = '{before%naventry} {after%naventry}' navshort = '{before%navshortentry}{after%navshortentry}' navgraph = '{before%navgraphentry}{after%navgraphentry}' filenav = '{before%filenaventry}{after%filenaventry}' direntry = ' <tr class="fileline parity{parity}"> <td class="name"> <a href="{url|urlescape}file/{node|short}{path|urlescape}{sessionvars%urlparameter}"> <img src="{staticurl|urlescape}coal-folder.png" alt="dir."/> {basename|escape}/ </a> <a href="{url|urlescape}file/{node|short}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}"> {emptydirs|escape} </a> </td> <td class="size"></td> <td class="permissions">drwxr-xr-x</td> </tr>' fileentry = ' <tr class="fileline parity{parity}"> <td class="filename"> <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> <img src="{staticurl|urlescape}coal-file.png" alt="file"/> {basename|escape} </a> </td> <td class="size">{size}</td> <td class="permissions">{permissions|permissions}</td> </tr>' filerevision = ../paper/filerevision.tmpl fileannotate = ../paper/fileannotate.tmpl filediff = ../paper/filediff.tmpl filecomparison = ../paper/filecomparison.tmpl filelog = ../paper/filelog.tmpl fileline = ' <div class="parity{parity} source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>' filelogentry = ../paper/filelogentry.tmpl annotateline = ' <tr class="parity{parity}"> <td class="annotate"> <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#{targetline}" title="{node|short}: {desc|escape|firstline}">{author|user}@{rev}</a> </td> <td class="source"><a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</td> </tr>' diffblock = '<div class="source bottomline parity{parity}"><pre>{lines}</pre></div>' difflineplus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="plusline">{line|escape}</span>' difflineminus = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="minusline">{line|escape}</span>' difflineat = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> <span class="atline">{line|escape}</span>' diffline = '<a href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}' comparisonblock =' <tbody class="block"> {lines} </tbody>' comparisonline = ' <tr> <td class="source {type}"><a href="#{lineid}" id="{lineid}">{leftlinenumber}</a> {leftline|escape}</td> <td class="source {type}"><a href="#{lineid}" id="{lineid}">{rightlinenumber}</a> {rightline|escape}</td> </tr>' changelogparent = ' <tr> <th class="parent">parent {rev}:</th> <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> </tr>' changesetparent = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' changesetparentdiff = ' {changesetparent} {ifeq(node, basenode, '(current diff)', '({difffrom})')}' difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' filerevparent = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> ' filerevchild = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> ' filerename = '{file|escape}@' filelogrename = ' <span class="base"> base <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> {file|escape}@{node|short} </a> </span>' fileannotateparent = ' <tr> <td class="metatag">parent:</td> <td> <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> {rename%filerename}{node|short} </a> </td> </tr>' changesetchild = ' <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' changelogchild = ' <tr> <th class="child">child</th> <td class="child"> <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> {node|short} </a> </td> </tr>' fileannotatechild = ' <tr> <td class="metatag">child:</td> <td> <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> {node|short} </a> </td> </tr>' tags = ../paper/tags.tmpl tagentry = ' <tr class="tagEntry parity{parity}"> <td> <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> {tag|escape} </a> </td> <td class="node"> {node|short} </td> </tr>' bookmarks = ../paper/bookmarks.tmpl bookmarkentry = ' <tr class="tagEntry parity{parity}"> <td> <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> {bookmark|escape} </a> </td> <td class="node"> {node|short} </td> </tr>' branches = ../paper/branches.tmpl branchentry = ' <tr class="tagEntry parity{parity}"> <td> <a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}"> {branch|escape} </a> </td> <td class="node"> {node|short} </td> </tr>' changelogtag = '<span class="tag">{name|escape}</span> ' changesettag = '<span class="tag">{tag|escape}</span> ' changesetbookmark = '<span class="tag">{bookmark|escape}</span> ' changelogbranchhead = '<span class="branchhead">{name|escape}</span> ' changelogbranchname = '<span class="branchname">{name|escape}</span> ' filediffparent = ' <tr> <th class="parent">parent {rev}:</th> <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> </tr>' filelogparent = ' <tr> <th>parent {rev}:</th> <td><a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> </tr>' filediffchild = ' <tr> <th class="child">child {rev}:</th> <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> </td> </tr>' filelogchild = ' <tr> <th>child {rev}:</th> <td><a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> </tr>' indexentry = ' <tr class="parity{parity}"> <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td> <td>{description}</td> <td>{contact|obfuscate}</td> <td class="age">{lastchange|rfc822date}</td> <td class="indexlinks">{archives%indexarchiveentry}</td> </tr>\n' indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension|urlescape}"> ↓{type|escape}</a>' index = ../paper/index.tmpl archiveentry = ' <li> <a href="{url|urlescape}archive/{node|short}{extension|urlescape}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a> </li>' notfound = ../paper/notfound.tmpl error = ../paper/error.tmpl urlparameter = '{separator}{name}={value|urlescape}' hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> '