| 0 | 1 default = 'shortlog' | 
|  | 2 | 
|  | 3 mimetype = 'text/html; charset={encoding}' | 
|  | 4 header = header.tmpl | 
|  | 5 footer = footer.tmpl | 
|  | 6 search = search.tmpl | 
|  | 7 breadcrumbs = breadcrumbs.tmpl | 
|  | 8 | 
|  | 9 changelog = shortlog.tmpl | 
|  | 10 shortlog = shortlog.tmpl | 
|  | 11 shortlogentry = shortlogentry.tmpl | 
|  | 12 graph = graph.tmpl | 
|  | 13 graphentry = graphentry.tmpl | 
|  | 14 help = help.tmpl | 
|  | 15 helptopics = helptopics.tmpl | 
|  | 16 | 
|  | 17 helpentry = ' | 
|  | 18   <tr><td> | 
|  | 19     <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}"> | 
|  | 20       {if(basename, '{basename|escape}', '{topic|escape}')} | 
|  | 21     </a> | 
|  | 22   </td><td> | 
|  | 23     {summary|escape} | 
|  | 24   </td></tr>' | 
|  | 25 | 
|  | 26 naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' | 
|  | 27 navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' | 
|  | 28 navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' | 
|  | 29 filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' | 
|  | 30 filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' | 
|  | 31 filenodelink = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' | 
|  | 32 filenolink = '{file|escape} ' | 
|  | 33 fileellipses = '...' | 
|  | 34 diffstatlink = diffstat.tmpl | 
|  | 35 diffstatnolink = diffstat.tmpl | 
|  | 36 changelogentry = shortlogentry.tmpl | 
|  | 37 changeset = changeset.tmpl | 
|  | 38 manifest = manifest.tmpl | 
|  | 39 | 
|  | 40 nav = '{before%naventry} {after%naventry}' | 
|  | 41 navshort = '{before%navshortentry}{after%navshortentry}' | 
|  | 42 navgraph = '{before%navgraphentry}{after%navgraphentry}' | 
|  | 43 filenav = '{before%filenaventry}{after%filenaventry}' | 
|  | 44 | 
|  | 45 updirentry = ' | 
|  | 46   <tr class="fileline"> | 
|  | 47     <td class="name"> | 
|  | 48       <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a> | 
|  | 49     </td> | 
|  | 50     <td class="size"></td> | 
|  | 51     <td class="permissions">drwxr-xr-x</td> | 
|  | 52   </tr>' | 
|  | 53 | 
|  | 54 direntry = ' | 
|  | 55   <tr class="fileline"> | 
|  | 56     <td class="name"> | 
|  | 57       <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}"> | 
|  | 58         <img src="{staticurl|urlescape}coal-folder.png" alt="dir."/> {basename|escape}/ | 
|  | 59       </a> | 
|  | 60       <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}"> | 
|  | 61         {emptydirs|escape} | 
|  | 62       </a> | 
|  | 63     </td> | 
|  | 64     <td class="size"></td> | 
|  | 65     <td class="permissions">drwxr-xr-x</td> | 
|  | 66   </tr>' | 
|  | 67 | 
|  | 68 fileentry = ' | 
|  | 69   <tr class="fileline"> | 
|  | 70     <td class="filename"> | 
|  | 71       <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}"> | 
|  | 72         <img src="{staticurl|urlescape}coal-file.png" alt="file"/> {basename|escape} | 
|  | 73       </a> | 
|  | 74     </td> | 
|  | 75     <td class="size">{size}</td> | 
|  | 76     <td class="permissions">{permissions|permissions}</td> | 
|  | 77   </tr>' | 
|  | 78 | 
|  | 79 filerevision = filerevision.tmpl | 
|  | 80 fileannotate = fileannotate.tmpl | 
|  | 81 filediff = filediff.tmpl | 
|  | 82 filecomparison = filecomparison.tmpl | 
|  | 83 filelog = filelog.tmpl | 
|  | 84 fileline = ' | 
|  | 85   <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' | 
|  | 86 filelogentry = filelogentry.tmpl | 
|  | 87 | 
|  | 88 annotateline = ' | 
|  | 89   <tr id="{lineid}"{ifeq(node, originalnode, ' class="thisrev"')}> | 
|  | 90     <td class="annotate parity{blockparity}"> | 
|  | 91       {if(blockhead, | 
|  | 92           '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> | 
|  | 93              {rev} | 
|  | 94            </a>')} | 
|  | 95       <div class="annotate-info"> | 
|  | 96         <div> | 
|  | 97           <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> | 
|  | 98             {node|short}</a> | 
|  | 99           {desc|escape|firstline} | 
|  | 100         </div> | 
|  | 101         <div><em>{author|obfuscate}</em></div> | 
|  | 102         <div>parents: {parents%annotateparent}</div> | 
|  | 103         <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 
|  | 104         <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 
|  | 105       </div> | 
|  | 106     </td> | 
|  | 107     <td class="source followlines-btn-parent"><a href="#{lineid}">{linenumber}</a> {line|escape}</td> | 
|  | 108   </tr>' | 
|  | 109 annotateparent = ' | 
|  | 110   <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>' | 
|  | 111 diffblock = '<div class="bottomline inc-lineno"><pre class="sourcelines wrap">{lines}</pre></div>' | 
|  | 112 difflineplus = ' | 
|  | 113   <span id="{lineid}" class="plusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' | 
|  | 114 difflineminus = ' | 
|  | 115   <span id="{lineid}" class="minusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' | 
|  | 116 difflineat = ' | 
|  | 117   <span id="{lineid}" class="atline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' | 
|  | 118 diffline = ' | 
|  | 119   <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' | 
|  | 120 | 
|  | 121 comparisonblock =' | 
|  | 122   <tbody class="block"> | 
|  | 123   {lines} | 
|  | 124   </tbody>' | 
|  | 125 comparisonline = ' | 
|  | 126   <tr id="{lineid}"> | 
|  | 127     <td class="source {type}"><a href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td> | 
|  | 128     <td class="source {type}"><a href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td> | 
|  | 129   </tr>' | 
|  | 130 | 
|  | 131 changesetparent = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' | 
|  | 132 | 
|  | 133 changesetparentdiff = ' | 
|  | 134   {changesetparent} | 
|  | 135   {ifeq(node, basenode, '(current diff)', '({difffrom})')}' | 
|  | 136 | 
|  | 137 difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' | 
|  | 138 | 
|  | 139 filerevparent = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> ' | 
|  | 140 filerevchild = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> ' | 
|  | 141 | 
|  | 142 filerename = '{file|escape}@' | 
|  | 143 filelogrename = ' | 
|  | 144   <span class="base"> | 
|  | 145     base | 
|  | 146     <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> | 
|  | 147       {file|escape}@{node|short} | 
|  | 148     </a> | 
|  | 149   </span>' | 
|  | 150 fileannotateparent = ' | 
|  | 151   <tr> | 
|  | 152     <td class="metatag">parent:</td> | 
|  | 153     <td> | 
|  | 154       <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> | 
|  | 155         {rename%filerename}{node|short} | 
|  | 156       </a> | 
|  | 157     </td> | 
|  | 158   </tr>' | 
|  | 159 changesetchild = ' <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' | 
|  | 160 fileannotatechild = ' | 
|  | 161   <tr> | 
|  | 162     <td class="metatag">child:</td> | 
|  | 163     <td> | 
|  | 164       <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> | 
|  | 165         {node|short} | 
|  | 166       </a> | 
|  | 167     </td> | 
|  | 168   </tr>' | 
|  | 169 tags = tags.tmpl | 
|  | 170 tagentry = ' | 
|  | 171   <tr class="tagEntry"> | 
|  | 172     <td> | 
|  | 173       <a href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}"> | 
|  | 174         {tag|escape} | 
|  | 175       </a> | 
|  | 176     </td> | 
|  | 177     <td class="node"> | 
|  | 178       <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> | 
|  | 179         {node|short} | 
|  | 180       </a> | 
|  | 181     </td> | 
|  | 182   </tr>' | 
|  | 183 bookmarks = bookmarks.tmpl | 
|  | 184 bookmarkentry = ' | 
|  | 185   <tr class="tagEntry"> | 
|  | 186     <td> | 
|  | 187       <a href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}"> | 
|  | 188         {bookmark|escape} | 
|  | 189       </a> | 
|  | 190     </td> | 
|  | 191     <td class="node"> | 
|  | 192       <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> | 
|  | 193         {node|short} | 
|  | 194       </a> | 
|  | 195     </td> | 
|  | 196   </tr>' | 
|  | 197 branches = branches.tmpl | 
|  | 198 branchentry = ' | 
|  | 199   <tr class="tagEntry"> | 
|  | 200     <td> | 
|  | 201       <a href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}" class="{status}"> | 
|  | 202         {branch|escape} | 
|  | 203       </a> | 
|  | 204     </td> | 
|  | 205     <td class="node"> | 
|  | 206       <a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}"> | 
|  | 207         {node|short} | 
|  | 208       </a> | 
|  | 209     </td> | 
|  | 210   </tr>' | 
|  | 211 phasetag = '{ifeq(phase, 'public', '', '<span class="phase">{phase|escape}</span> ')}' | 
|  | 212 obsoletetag = '{if(obsolete, '<span class="obsolete">obsolete</span> ')}' | 
|  | 213 instabilitytag = '<span class="instability">{instability|escape}</span> ' | 
|  | 214 changelogtag = '<span class="tag">{name|escape}</span> ' | 
|  | 215 changesettag = '<span class="tag">{tag|escape}</span> ' | 
|  | 216 changesetbookmark = '<span class="tag">{bookmark|escape}</span> ' | 
|  | 217 changelogbranchhead = '<span class="branchhead">{name|escape}</span> ' | 
|  | 218 changelogbranchname = '<span class="branchname">{name|escape}</span> ' | 
|  | 219 alltags = '{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{bookmarks%changelogtag}' | 
|  | 220 | 
|  | 221 successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' | 
|  | 222 obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' | 
|  | 223 obsfateverb = '{obsfateverb(successors, markers)}' | 
|  | 224 obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' | 
|  | 225 obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' | 
|  | 226 obsfatedate = '{if(obsfatedate(markers), ' {ifeq(min(obsfatedate(markers)), max(obsfatedate(markers)), '<span class="age">{min(obsfatedate(markers))|rfc822date}</span>', 'between <span class="age">{min(obsfatedate(markers))|rfc822date}</span> and <span class="age">{max(obsfatedate(markers))|rfc822date}</span>')}')}' | 
|  | 227 obsfateentry = '{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}' | 
|  | 228 instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' | 
|  | 229 divergentnode = '{instabilitychangesetlink} ({phase})' | 
|  | 230 whyunstableentry = '{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}' | 
|  | 231 | 
|  | 232 filediffparent = ' | 
|  | 233   <tr> | 
|  | 234     <th class="parent">parent {rev}:</th> | 
|  | 235     <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> | 
|  | 236   </tr>' | 
|  | 237 filediffchild = ' | 
|  | 238   <tr> | 
|  | 239     <th class="child">child {rev}:</th> | 
|  | 240     <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> | 
|  | 241   </td> | 
|  | 242   </tr>' | 
|  | 243 | 
|  | 244 indexentry = ' | 
|  | 245   <tr> | 
|  | 246     <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td> | 
|  | 247     <td>{description}</td> | 
|  | 248     <td>{contact|obfuscate}</td> | 
|  | 249     <td class="age">{lastchange|rfc822date}</td> | 
|  | 250     <td class="indexlinks">{archives%indexarchiveentry}</td> | 
|  | 251     <td> | 
|  | 252         {if(isdirectory, '', | 
|  | 253             '<a href="{url|urlescape}atom-log" title="subscribe to repository atom feed"> | 
|  | 254                 <img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="subscribe to repository atom feed"> | 
|  | 255             </a>' | 
|  | 256             )} | 
|  | 257     </td> | 
|  | 258   </tr>\n' | 
|  | 259 indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension|urlescape}"> ↓{type|escape}</a>' | 
|  | 260 index = index.tmpl | 
|  | 261 archiveentry = ' | 
|  | 262   <li> | 
|  | 263     <a href="{url|urlescape}archive/{symrev}{extension|urlescape}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a> | 
|  | 264   </li>' | 
|  | 265 notfound = notfound.tmpl | 
|  | 266 error = error.tmpl | 
|  | 267 urlparameter = '{separator}{name}={value|urlescape}' | 
|  | 268 hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' | 
|  | 269 breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> ' | 
|  | 270 | 
|  | 271 searchform = ' | 
|  | 272   <form class="search" action="{url|urlescape}log"> | 
|  | 273     {sessionvars%hiddenformentry} | 
|  | 274     <p><input name="rev" id="search1" type="text" size="30" value="{query|escape}" /></p> | 
|  | 275     <div id="hint">{searchhint}</div> | 
|  | 276   </form>' | 
|  | 277 searchhint = 'Find changesets by keywords (author, files, the commit message), revision | 
|  | 278   number or hash, or <a href="{url|urlescape}help/revsets">revset expression</a>.' | 
|  | 279 | 
|  | 280 diffoptsform = ' | 
|  | 281   <form id="diffopts-form" | 
|  | 282     data-ignorews="{if(get(diffopts, 'ignorews'), '1', '0')}" | 
|  | 283     data-ignorewsamount="{if(get(diffopts, 'ignorewsamount'), '1', '0')}" | 
|  | 284     data-ignorewseol="{if(get(diffopts, 'ignorewseol'), '1', '0')}" | 
|  | 285     data-ignoreblanklines="{if(get(diffopts, 'ignoreblanklines'), '1', '0')}"> | 
|  | 286     <span>Ignore whitespace changes - </span> | 
|  | 287     <span>Everywhere:</span> | 
|  | 288     <input id="ignorews-checkbox" type="checkbox" /> | 
|  | 289     <span>Within whitespace:</span> | 
|  | 290     <input id="ignorewsamount-checkbox" type="checkbox" /> | 
|  | 291     <span>At end of lines:</span> | 
|  | 292     <input id="ignorewseol-checkbox" type="checkbox" /> | 
|  | 293   </form>' |