1.1--- a/.homerc Wed May 01 17:44:20 2024 -0400 1.2+++ b/.homerc Sat Jul 20 22:31:54 2024 -0400 1.3@@ -0,0 +1,4 @@ 1.4+;;; -*- mode:skel; -*- 1.5+:user vc 1.6+:packy "~/.stash/packy" 1.7+:shell :bash
2.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 2.2+++ b/.skelrc Sat Jul 20 22:31:54 2024 -0400 2.3@@ -0,0 +1,5 @@ 2.4+;;; .skelrc --- ellis@rurik -*- mode: skel; -*- 2.5+:user "vc" 2.6+:vc :hg 2.7+:log-level :trace 2.8+:stash "~/.stash"
3.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 3.2+++ b/hgweb.conf Sat Jul 20 22:31:54 2024 -0400 3.3@@ -0,0 +1,27 @@ 3.4+[web] 3.5+port = 8888 3.6+encoding = UTF-8 3.7+# allow_archive = zip 3.8+baseurl = https://vc.compiler.company 3.9+contact = ellis 3.10+# templates = theme 3.11+# style = monoblue 3.12+templates = /home/vc/templates 3.13+style = gitweb 3.14+# pygments_style = tango 3.15+highlightfiles = size('<100k') 3.16+# highlightonlymatchfilename = True 3.17+logourl = https://vc.compiler.company 3.18+staticurl = /static 3.19+descend = True 3.20+collapse = False 3.21+allow_push = ellis 3.22+[extensions] 3.23+highlight = 3.24+[paths] 3.25+/ = /home/vc/comp/** 3.26+packy = /home/vc/packy 3.27+scratch = /home/vc/scratch/** 3.28+[phases] 3.29+publish = False 3.30+new-commit = draft 3.31\ No newline at end of file
4.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 4.2+++ b/hgweb.ini Sat Jul 20 22:31:54 2024 -0400 4.3@@ -0,0 +1,17 @@ 4.4+[uwsgi] 4.5+master = true 4.6+# max-requests = 1000 4.7+# logto = {log file path}/hgweb-uwsgi.log 4.8+uid = vc # set process owner 4.9+gid = vc 4.10+stats = /run/vc/stats.sock 4.11+chmod-socket = 666 4.12+cap = setgid,setuid 4.13+# https://www.mercurial-scm.org/wiki/PublishRepositoriesOnNginx 4.14+plugins = python 4.15+socket = /run/vc/hgweb.sock 4.16+chdir = /home/vc/ 4.17+wsgi-file = hgweb.wsgi 4.18+# https://stackoverflow.com/questions/15878176/uwsgi-invalid-request-block-size 4.19+# http://uwsgi-docs.readthedocs.io/en/latest/ThingsToKnow.html 4.20+# buffer-size = 65535
5.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 5.2+++ b/hgweb.py Sat Jul 20 22:31:54 2024 -0400 5.3@@ -0,0 +1,7 @@ 5.4+#!/usr/bin/env python3 5.5+config = b"/home/vc/hgweb.conf" 5.6+# enable demandloading to reduce startup time 5.7+from mercurial import demandimport; demandimport.enable() 5.8+from mercurial.hgweb import hgweb, wsgicgi 5.9+app = hgweb(config) 5.10+wsgicgi.launch(app)
6.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 6.2+++ b/static/followlines.js Sat Jul 20 22:31:54 2024 -0400 6.3@@ -0,0 +1,286 @@ 6.4+// followlines.js - JavaScript utilities for followlines UI 6.5+// 6.6+// Copyright 2017 Logilab SA <contact@logilab.fr> 6.7+// 6.8+// This software may be used and distributed according to the terms of the 6.9+// GNU General Public License version 2 or any later version. 6.10+ 6.11+//** Install event listeners for line block selection and followlines action */ 6.12+document.addEventListener('DOMContentLoaded', function() { 6.13+ var sourcelines = document.getElementsByClassName('sourcelines')[0]; 6.14+ if (typeof sourcelines === 'undefined') { 6.15+ return; 6.16+ } 6.17+ // URL to complement with "linerange" query parameter 6.18+ var targetUri = sourcelines.dataset.logurl; 6.19+ if (typeof targetUri === 'undefined') { 6.20+ return; 6.21+ } 6.22+ 6.23+ // Tag of children of "sourcelines" element on which to add "line 6.24+ // selection" style. 6.25+ var selectableTag = sourcelines.dataset.selectabletag; 6.26+ if (typeof selectableTag === 'undefined') { 6.27+ return; 6.28+ } 6.29+ 6.30+ var isHead = parseInt(sourcelines.dataset.ishead || "0"); 6.31+ 6.32+ //* position "element" on top-right of cursor */ 6.33+ function positionTopRight(element, event) { 6.34+ var x = (event.clientX + 10) + 'px', 6.35+ y = (event.clientY - 20) + 'px'; 6.36+ element.style.top = y; 6.37+ element.style.left = x; 6.38+ } 6.39+ 6.40+ // retrieve all direct *selectable* children of class="sourcelines" 6.41+ // element 6.42+ var selectableElements = Array.prototype.filter.call( 6.43+ sourcelines.children, 6.44+ function(x) { return x.tagName === selectableTag; }); 6.45+ 6.46+ var btnTitleStart = 'start following lines history from here'; 6.47+ var btnTitleEnd = 'terminate line block selection here'; 6.48+ 6.49+ //** return a <button> element with +/- spans */ 6.50+ function createButton() { 6.51+ var btn = document.createElement('button'); 6.52+ btn.title = btnTitleStart; 6.53+ btn.classList.add('btn-followlines'); 6.54+ var plusSpan = document.createElement('span'); 6.55+ plusSpan.classList.add('followlines-plus'); 6.56+ plusSpan.textContent = '+'; 6.57+ btn.appendChild(plusSpan); 6.58+ var br = document.createElement('br'); 6.59+ btn.appendChild(br); 6.60+ var minusSpan = document.createElement('span'); 6.61+ minusSpan.classList.add('followlines-minus'); 6.62+ minusSpan.textContent = '−'; 6.63+ btn.appendChild(minusSpan); 6.64+ return btn; 6.65+ } 6.66+ 6.67+ // extend DOM with CSS class for selection highlight and action buttons 6.68+ var followlinesButtons = []; 6.69+ for (var i = 0; i < selectableElements.length; i++) { 6.70+ selectableElements[i].classList.add('followlines-select'); 6.71+ var btn = createButton(); 6.72+ followlinesButtons.push(btn); 6.73+ // insert the <button> as child of `selectableElements[i]` unless the 6.74+ // latter has itself a child with a "followlines-btn-parent" class 6.75+ // (annotate view) 6.76+ var btnSupportElm = selectableElements[i]; 6.77+ var childSupportElms = btnSupportElm.getElementsByClassName( 6.78+ 'followlines-btn-parent'); 6.79+ if ( childSupportElms.length > 0 ) { 6.80+ btnSupportElm = childSupportElms[0]; 6.81+ } 6.82+ var refNode = btnSupportElm.childNodes[0]; // node to insert <button> before 6.83+ btnSupportElm.insertBefore(btn, refNode); 6.84+ } 6.85+ 6.86+ // ** re-initialize followlines buttons */ 6.87+ function resetButtons() { 6.88+ for (var i = 0; i < followlinesButtons.length; i++) { 6.89+ var btn = followlinesButtons[i]; 6.90+ btn.title = btnTitleStart; 6.91+ btn.classList.remove('btn-followlines-end'); 6.92+ btn.classList.remove('btn-followlines-hidden'); 6.93+ } 6.94+ } 6.95+ 6.96+ var lineSelectedCSSClass = 'followlines-selected'; 6.97+ 6.98+ //** add CSS class on selectable elements in `from`-`to` line range */ 6.99+ function addSelectedCSSClass(from, to) { 6.100+ for (var i = from; i <= to; i++) { 6.101+ selectableElements[i].classList.add(lineSelectedCSSClass); 6.102+ } 6.103+ } 6.104+ 6.105+ //** remove CSS class from previously selected lines */ 6.106+ function removeSelectedCSSClass() { 6.107+ var elements = sourcelines.getElementsByClassName( 6.108+ lineSelectedCSSClass); 6.109+ while (elements.length) { 6.110+ elements[0].classList.remove(lineSelectedCSSClass); 6.111+ } 6.112+ } 6.113+ 6.114+ // ** return the element of type "selectableTag" parent of `element` */ 6.115+ function selectableParent(element) { 6.116+ var parent = element.parentElement; 6.117+ if (parent === null) { 6.118+ return null; 6.119+ } 6.120+ if (element.tagName === selectableTag && parent.isSameNode(sourcelines)) { 6.121+ return element; 6.122+ } 6.123+ return selectableParent(parent); 6.124+ } 6.125+ 6.126+ // ** update buttons title and style upon first click */ 6.127+ function updateButtons(selectable) { 6.128+ for (var i = 0; i < followlinesButtons.length; i++) { 6.129+ var btn = followlinesButtons[i]; 6.130+ btn.title = btnTitleEnd; 6.131+ btn.classList.add('btn-followlines-end'); 6.132+ } 6.133+ // on clicked button, change title to "cancel" 6.134+ var clicked = selectable.getElementsByClassName('btn-followlines')[0]; 6.135+ clicked.title = 'cancel'; 6.136+ clicked.classList.remove('btn-followlines-end'); 6.137+ } 6.138+ 6.139+ //** add `listener` on "click" event for all `followlinesButtons` */ 6.140+ function buttonsAddEventListener(listener) { 6.141+ for (var i = 0; i < followlinesButtons.length; i++) { 6.142+ followlinesButtons[i].addEventListener('click', listener); 6.143+ } 6.144+ } 6.145+ 6.146+ //** remove `listener` on "click" event for all `followlinesButtons` */ 6.147+ function buttonsRemoveEventListener(listener) { 6.148+ for (var i = 0; i < followlinesButtons.length; i++) { 6.149+ followlinesButtons[i].removeEventListener('click', listener); 6.150+ } 6.151+ } 6.152+ 6.153+ //** event handler for "click" on the first line of a block */ 6.154+ function lineSelectStart(e) { 6.155+ var startElement = selectableParent(e.target.parentElement); 6.156+ if (startElement === null) { 6.157+ // not a "selectable" element (maybe <a>): abort, keeping event 6.158+ // listener registered for other click with a "selectable" target 6.159+ return; 6.160+ } 6.161+ 6.162+ // update button tooltip text and CSS 6.163+ updateButtons(startElement); 6.164+ 6.165+ var startId = parseInt(startElement.id.slice(1)); 6.166+ startElement.classList.add(lineSelectedCSSClass); // CSS 6.167+ 6.168+ // remove this event listener 6.169+ buttonsRemoveEventListener(lineSelectStart); 6.170+ 6.171+ //** event handler for "click" on the last line of the block */ 6.172+ function lineSelectEnd(e) { 6.173+ var endElement = selectableParent(e.target.parentElement); 6.174+ if (endElement === null) { 6.175+ // not a <span> (maybe <a>): abort, keeping event listener 6.176+ // registered for other click with <span> target 6.177+ return; 6.178+ } 6.179+ 6.180+ // remove this event listener 6.181+ buttonsRemoveEventListener(lineSelectEnd); 6.182+ 6.183+ // reset button tooltip text 6.184+ resetButtons(); 6.185+ 6.186+ // compute line range (startId, endId) 6.187+ var endId = parseInt(endElement.id.slice(1)); 6.188+ if (endId === startId) { 6.189+ // clicked twice the same line, cancel and reset initial state 6.190+ // (CSS, event listener for selection start) 6.191+ removeSelectedCSSClass(); 6.192+ buttonsAddEventListener(lineSelectStart); 6.193+ return; 6.194+ } 6.195+ var inviteElement = endElement; 6.196+ if (endId < startId) { 6.197+ var tmp = endId; 6.198+ endId = startId; 6.199+ startId = tmp; 6.200+ inviteElement = startElement; 6.201+ } 6.202+ 6.203+ addSelectedCSSClass(startId - 1, endId -1); // CSS 6.204+ 6.205+ // append the <div id="followlines"> element to last line of the 6.206+ // selection block 6.207+ var divAndButton = followlinesBox(targetUri, startId, endId, isHead); 6.208+ var div = divAndButton[0], 6.209+ button = divAndButton[1]; 6.210+ inviteElement.appendChild(div); 6.211+ // set position close to cursor (top-right) 6.212+ positionTopRight(div, e); 6.213+ // hide all buttons 6.214+ for (var i = 0; i < followlinesButtons.length; i++) { 6.215+ followlinesButtons[i].classList.add('btn-followlines-hidden'); 6.216+ } 6.217+ 6.218+ //** event handler for cancelling selection */ 6.219+ function cancel() { 6.220+ // remove invite box 6.221+ div.parentNode.removeChild(div); 6.222+ // restore initial event listeners 6.223+ buttonsAddEventListener(lineSelectStart); 6.224+ buttonsRemoveEventListener(cancel); 6.225+ for (var i = 0; i < followlinesButtons.length; i++) { 6.226+ followlinesButtons[i].classList.remove('btn-followlines-hidden'); 6.227+ } 6.228+ // remove styles on selected lines 6.229+ removeSelectedCSSClass(); 6.230+ resetButtons(); 6.231+ } 6.232+ 6.233+ // bind cancel event to click on <button> 6.234+ button.addEventListener('click', cancel); 6.235+ // as well as on an click on any source line 6.236+ buttonsAddEventListener(cancel); 6.237+ } 6.238+ 6.239+ buttonsAddEventListener(lineSelectEnd); 6.240+ 6.241+ } 6.242+ 6.243+ buttonsAddEventListener(lineSelectStart); 6.244+ 6.245+ //** return a <div id="followlines"> and inner cancel <button> elements */ 6.246+ function followlinesBox(targetUri, fromline, toline, isHead) { 6.247+ // <div id="followlines"> 6.248+ var div = document.createElement('div'); 6.249+ div.id = 'followlines'; 6.250+ 6.251+ // <div class="followlines-cancel"> 6.252+ var buttonDiv = document.createElement('div'); 6.253+ buttonDiv.classList.add('followlines-cancel'); 6.254+ 6.255+ // <button>x</button> 6.256+ var button = document.createElement('button'); 6.257+ button.textContent = 'x'; 6.258+ buttonDiv.appendChild(button); 6.259+ div.appendChild(buttonDiv); 6.260+ 6.261+ // <div class="followlines-link"> 6.262+ var aDiv = document.createElement('div'); 6.263+ aDiv.classList.add('followlines-link'); 6.264+ aDiv.textContent = 'follow history of lines ' + fromline + ':' + toline + ':'; 6.265+ var linesep = document.createElement('br'); 6.266+ aDiv.appendChild(linesep); 6.267+ // link to "ascending" followlines 6.268+ var aAsc = document.createElement('a'); 6.269+ var url = targetUri + '?patch=&linerange=' + fromline + ':' + toline; 6.270+ aAsc.setAttribute('href', url); 6.271+ aAsc.textContent = 'older'; 6.272+ aDiv.appendChild(aAsc); 6.273+ 6.274+ if (!isHead) { 6.275+ var sep = document.createTextNode(' / '); 6.276+ aDiv.appendChild(sep); 6.277+ // link to "descending" followlines 6.278+ var aDesc = document.createElement('a'); 6.279+ aDesc.setAttribute('href', url + '&descend='); 6.280+ aDesc.textContent = 'newer'; 6.281+ aDiv.appendChild(aDesc); 6.282+ } 6.283+ 6.284+ div.appendChild(aDiv); 6.285+ 6.286+ return [div, button]; 6.287+ } 6.288+ 6.289+}, false);
7.1Binary file static/hgicon.png has changed
8.1Binary file static/hglogo.png has changed
9.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 9.2+++ b/static/mercurial.js Sat Jul 20 22:31:54 2024 -0400 9.3@@ -0,0 +1,580 @@ 9.4+// mercurial.js - JavaScript utility functions 9.5+// 9.6+// Rendering of branch DAGs on the client side 9.7+// Display of elapsed time 9.8+// Show or hide diffstat 9.9+// 9.10+// Copyright 2008 Dirkjan Ochtman <dirkjan AT ochtman DOT nl> 9.11+// Copyright 2006 Alexander Schremmer <alex AT alexanderweb DOT de> 9.12+// 9.13+// derived from code written by Scott James Remnant <scott@ubuntu.com> 9.14+// Copyright 2005 Canonical Ltd. 9.15+// 9.16+// This software may be used and distributed according to the terms 9.17+// of the GNU General Public License, incorporated herein by reference. 9.18+ 9.19+var colors = [ 9.20+ [ 1.0, 0.0, 0.0 ], 9.21+ [ 1.0, 1.0, 0.0 ], 9.22+ [ 0.0, 1.0, 0.0 ], 9.23+ [ 0.0, 1.0, 1.0 ], 9.24+ [ 0.0, 0.0, 1.0 ], 9.25+ [ 1.0, 0.0, 1.0 ] 9.26+]; 9.27+ 9.28+function Graph() { 9.29+ 9.30+ this.canvas = document.getElementById('graph'); 9.31+ this.ctx = this.canvas.getContext('2d'); 9.32+ this.ctx.strokeStyle = 'rgb(0, 0, 0)'; 9.33+ this.ctx.fillStyle = 'rgb(0, 0, 0)'; 9.34+ this.bg = [0, 4]; 9.35+ this.cell = [2, 0]; 9.36+ this.columns = 0; 9.37+ 9.38+} 9.39+ 9.40+Graph.prototype = { 9.41+ reset: function() { 9.42+ this.bg = [0, 4]; 9.43+ this.cell = [2, 0]; 9.44+ this.columns = 0; 9.45+ }, 9.46+ 9.47+ scale: function(height) { 9.48+ this.bg_height = height; 9.49+ this.box_size = Math.floor(this.bg_height / 1.2); 9.50+ this.cell_height = this.box_size; 9.51+ }, 9.52+ 9.53+ setColor: function(color, bg, fg) { 9.54+ 9.55+ // Set the colour. 9.56+ // 9.57+ // If color is a string, expect an hexadecimal RGB 9.58+ // value and apply it unchanged. If color is a number, 9.59+ // pick a distinct colour based on an internal wheel; 9.60+ // the bg parameter provides the value that should be 9.61+ // assigned to the 'zero' colours and the fg parameter 9.62+ // provides the multiplier that should be applied to 9.63+ // the foreground colours. 9.64+ var s; 9.65+ if(typeof color === "string") { 9.66+ s = "#" + color; 9.67+ } else { //typeof color === "number" 9.68+ color %= colors.length; 9.69+ var red = (colors[color][0] * fg) || bg; 9.70+ var green = (colors[color][1] * fg) || bg; 9.71+ var blue = (colors[color][2] * fg) || bg; 9.72+ red = Math.round(red * 255); 9.73+ green = Math.round(green * 255); 9.74+ blue = Math.round(blue * 255); 9.75+ s = 'rgb(' + red + ', ' + green + ', ' + blue + ')'; 9.76+ } 9.77+ this.ctx.strokeStyle = s; 9.78+ this.ctx.fillStyle = s; 9.79+ return s; 9.80+ 9.81+ }, 9.82+ 9.83+ edge: function(x0, y0, x1, y1, color, width) { 9.84+ 9.85+ this.setColor(color, 0.0, 0.65); 9.86+ if(width >= 0) 9.87+ this.ctx.lineWidth = width; 9.88+ this.ctx.beginPath(); 9.89+ this.ctx.moveTo(x0, y0); 9.90+ this.ctx.lineTo(x1, y1); 9.91+ this.ctx.stroke(); 9.92+ 9.93+ }, 9.94+ 9.95+ graphNodeCurrent: function(x, y, radius) { 9.96+ this.ctx.lineWidth = 2; 9.97+ this.ctx.beginPath(); 9.98+ this.ctx.arc(x, y, radius * 1.75, 0, Math.PI * 2, true); 9.99+ this.ctx.stroke(); 9.100+ }, 9.101+ 9.102+ graphNodeClosing: function(x, y, radius) { 9.103+ this.ctx.fillRect(x - radius, y - 1.5, radius * 2, 3); 9.104+ }, 9.105+ 9.106+ graphNodeUnstable: function(x, y, radius) { 9.107+ var x30 = radius * Math.cos(Math.PI / 6); 9.108+ var y30 = radius * Math.sin(Math.PI / 6); 9.109+ this.ctx.lineWidth = 2; 9.110+ this.ctx.beginPath(); 9.111+ this.ctx.moveTo(x, y - radius); 9.112+ this.ctx.lineTo(x, y + radius); 9.113+ this.ctx.moveTo(x - x30, y - y30); 9.114+ this.ctx.lineTo(x + x30, y + y30); 9.115+ this.ctx.moveTo(x - x30, y + y30); 9.116+ this.ctx.lineTo(x + x30, y - y30); 9.117+ this.ctx.stroke(); 9.118+ }, 9.119+ 9.120+ graphNodeObsolete: function(x, y, radius) { 9.121+ var p45 = radius * Math.cos(Math.PI / 4); 9.122+ this.ctx.lineWidth = 3; 9.123+ this.ctx.beginPath(); 9.124+ this.ctx.moveTo(x - p45, y - p45); 9.125+ this.ctx.lineTo(x + p45, y + p45); 9.126+ this.ctx.moveTo(x - p45, y + p45); 9.127+ this.ctx.lineTo(x + p45, y - p45); 9.128+ this.ctx.stroke(); 9.129+ }, 9.130+ 9.131+ graphNodeNormal: function(x, y, radius) { 9.132+ this.ctx.beginPath(); 9.133+ this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); 9.134+ this.ctx.fill(); 9.135+ }, 9.136+ 9.137+ vertex: function(x, y, radius, color, parity, cur) { 9.138+ this.ctx.save(); 9.139+ this.setColor(color, 0.25, 0.75); 9.140+ if (cur.graphnode[0] === '@') { 9.141+ this.graphNodeCurrent(x, y, radius); 9.142+ } 9.143+ switch (cur.graphnode.substr(-1)) { 9.144+ case '_': 9.145+ this.graphNodeClosing(x, y, radius); 9.146+ break; 9.147+ case '*': 9.148+ this.graphNodeUnstable(x, y, radius); 9.149+ break; 9.150+ case 'x': 9.151+ this.graphNodeObsolete(x, y, radius); 9.152+ break; 9.153+ default: 9.154+ this.graphNodeNormal(x, y, radius); 9.155+ } 9.156+ this.ctx.restore(); 9.157+ 9.158+ var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; 9.159+ var item = document.querySelector('[data-node="' + cur.node + '"]'); 9.160+ if (item) { 9.161+ item.style.paddingLeft = left + 'px'; 9.162+ } 9.163+ }, 9.164+ 9.165+ render: function(data) { 9.166+ 9.167+ var i, j, cur, line, start, end, color, x, y, x0, y0, x1, y1, column, radius; 9.168+ 9.169+ var cols = 0; 9.170+ for (i = 0; i < data.length; i++) { 9.171+ cur = data[i]; 9.172+ for (j = 0; j < cur.edges.length; j++) { 9.173+ line = cur.edges[j]; 9.174+ cols = Math.max(cols, line[0], line[1]); 9.175+ } 9.176+ } 9.177+ this.canvas.width = (cols + 1) * this.bg_height; 9.178+ this.canvas.height = (data.length + 1) * this.bg_height - 27; 9.179+ 9.180+ for (i = 0; i < data.length; i++) { 9.181+ 9.182+ var parity = i % 2; 9.183+ this.cell[1] += this.bg_height; 9.184+ this.bg[1] += this.bg_height; 9.185+ 9.186+ cur = data[i]; 9.187+ var fold = false; 9.188+ 9.189+ var prevWidth = this.ctx.lineWidth; 9.190+ for (j = 0; j < cur.edges.length; j++) { 9.191+ 9.192+ line = cur.edges[j]; 9.193+ start = line[0]; 9.194+ end = line[1]; 9.195+ color = line[2]; 9.196+ var width = line[3]; 9.197+ if(width < 0) 9.198+ width = prevWidth; 9.199+ var branchcolor = line[4]; 9.200+ if(branchcolor) 9.201+ color = branchcolor; 9.202+ 9.203+ if (end > this.columns || start > this.columns) { 9.204+ this.columns += 1; 9.205+ } 9.206+ 9.207+ if (start === this.columns && start > end) { 9.208+ fold = true; 9.209+ } 9.210+ 9.211+ x0 = this.cell[0] + this.box_size * start + this.box_size / 2; 9.212+ y0 = this.bg[1] - this.bg_height / 2; 9.213+ x1 = this.cell[0] + this.box_size * end + this.box_size / 2; 9.214+ y1 = this.bg[1] + this.bg_height / 2; 9.215+ 9.216+ this.edge(x0, y0, x1, y1, color, width); 9.217+ 9.218+ } 9.219+ this.ctx.lineWidth = prevWidth; 9.220+ 9.221+ // Draw the revision node in the right column 9.222+ 9.223+ column = cur.vertex[0]; 9.224+ color = cur.vertex[1]; 9.225+ 9.226+ radius = this.box_size / 8; 9.227+ x = this.cell[0] + this.box_size * column + this.box_size / 2; 9.228+ y = this.bg[1] - this.bg_height / 2; 9.229+ this.vertex(x, y, radius, color, parity, cur); 9.230+ 9.231+ if (fold) this.columns -= 1; 9.232+ 9.233+ } 9.234+ 9.235+ } 9.236+ 9.237+}; 9.238+ 9.239+ 9.240+function process_dates(parentSelector){ 9.241+ 9.242+ // derived from code from mercurial/templatefilter.py 9.243+ 9.244+ var scales = { 9.245+ 'year': 365 * 24 * 60 * 60, 9.246+ 'month': 30 * 24 * 60 * 60, 9.247+ 'week': 7 * 24 * 60 * 60, 9.248+ 'day': 24 * 60 * 60, 9.249+ 'hour': 60 * 60, 9.250+ 'minute': 60, 9.251+ 'second': 1 9.252+ }; 9.253+ 9.254+ function format(count, string){ 9.255+ var ret = count + ' ' + string; 9.256+ if (count > 1){ 9.257+ ret = ret + 's'; 9.258+ } 9.259+ return ret; 9.260+ } 9.261+ 9.262+ function shortdate(date){ 9.263+ var ret = date.getFullYear() + '-'; 9.264+ // getMonth() gives a 0-11 result 9.265+ var month = date.getMonth() + 1; 9.266+ if (month <= 9){ 9.267+ ret += '0' + month; 9.268+ } else { 9.269+ ret += month; 9.270+ } 9.271+ ret += '-'; 9.272+ var day = date.getDate(); 9.273+ if (day <= 9){ 9.274+ ret += '0' + day; 9.275+ } else { 9.276+ ret += day; 9.277+ } 9.278+ return ret; 9.279+ } 9.280+ 9.281+ function age(datestr){ 9.282+ var now = new Date(); 9.283+ var once = new Date(datestr); 9.284+ if (isNaN(once.getTime())){ 9.285+ // parsing error 9.286+ return datestr; 9.287+ } 9.288+ 9.289+ var delta = Math.floor((now.getTime() - once.getTime()) / 1000); 9.290+ 9.291+ var future = false; 9.292+ if (delta < 0){ 9.293+ future = true; 9.294+ delta = -delta; 9.295+ if (delta > (30 * scales.year)){ 9.296+ return "in the distant future"; 9.297+ } 9.298+ } 9.299+ 9.300+ if (delta > (2 * scales.year)){ 9.301+ return shortdate(once); 9.302+ } 9.303+ 9.304+ for (var unit in scales){ 9.305+ if (!scales.hasOwnProperty(unit)) { continue; } 9.306+ var s = scales[unit]; 9.307+ var n = Math.floor(delta / s); 9.308+ if ((n >= 2) || (s === 1)){ 9.309+ if (future){ 9.310+ return format(n, unit) + ' from now'; 9.311+ } else { 9.312+ return format(n, unit) + ' ago'; 9.313+ } 9.314+ } 9.315+ } 9.316+ } 9.317+ 9.318+ var nodes = document.querySelectorAll((parentSelector || '') + ' .age'); 9.319+ var dateclass = new RegExp('\\bdate\\b'); 9.320+ for (var i=0; i<nodes.length; ++i){ 9.321+ var node = nodes[i]; 9.322+ var classes = node.className; 9.323+ var agevalue = age(node.textContent); 9.324+ if (dateclass.test(classes)){ 9.325+ // We want both: date + (age) 9.326+ node.textContent += ' ('+agevalue+')'; 9.327+ } else { 9.328+ node.title = node.textContent; 9.329+ node.textContent = agevalue; 9.330+ } 9.331+ } 9.332+} 9.333+ 9.334+function toggleDiffstat(event) { 9.335+ var curdetails = document.getElementById('diffstatdetails').style.display; 9.336+ var curexpand = curdetails === 'none' ? 'inline' : 'none'; 9.337+ document.getElementById('diffstatdetails').style.display = curexpand; 9.338+ document.getElementById('diffstatexpand').style.display = curdetails; 9.339+ event.preventDefault(); 9.340+} 9.341+ 9.342+function toggleLinewrap(event) { 9.343+ function getLinewrap() { 9.344+ var nodes = document.getElementsByClassName('sourcelines'); 9.345+ // if there are no such nodes, error is thrown here 9.346+ return nodes[0].classList.contains('wrap'); 9.347+ } 9.348+ 9.349+ function setLinewrap(enable) { 9.350+ var nodes = document.getElementsByClassName('sourcelines'); 9.351+ var i; 9.352+ for (i = 0; i < nodes.length; i++) { 9.353+ if (enable) { 9.354+ nodes[i].classList.add('wrap'); 9.355+ } else { 9.356+ nodes[i].classList.remove('wrap'); 9.357+ } 9.358+ } 9.359+ 9.360+ var links = document.getElementsByClassName('linewraplink'); 9.361+ for (i = 0; i < links.length; i++) { 9.362+ links[i].innerHTML = enable ? 'on' : 'off'; 9.363+ } 9.364+ } 9.365+ 9.366+ setLinewrap(!getLinewrap()); 9.367+ event.preventDefault(); 9.368+} 9.369+ 9.370+function format(str, replacements) { 9.371+ return str.replace(/%(\w+)%/g, function(match, p1) { 9.372+ return String(replacements[p1]); 9.373+ }); 9.374+} 9.375+ 9.376+function makeRequest(url, method, onstart, onsuccess, onerror, oncomplete) { 9.377+ var xhr = new XMLHttpRequest(); 9.378+ xhr.onreadystatechange = function() { 9.379+ if (xhr.readyState === 4) { 9.380+ try { 9.381+ if (xhr.status === 200) { 9.382+ onsuccess(xhr.responseText); 9.383+ } else { 9.384+ throw 'server error'; 9.385+ } 9.386+ } catch (e) { 9.387+ onerror(e); 9.388+ } finally { 9.389+ oncomplete(); 9.390+ } 9.391+ } 9.392+ }; 9.393+ 9.394+ xhr.open(method, url); 9.395+ xhr.overrideMimeType("text/xhtml; charset=" + document.characterSet.toLowerCase()); 9.396+ xhr.send(); 9.397+ onstart(); 9.398+ return xhr; 9.399+} 9.400+ 9.401+function removeByClassName(className) { 9.402+ var nodes = document.getElementsByClassName(className); 9.403+ while (nodes.length) { 9.404+ nodes[0].parentNode.removeChild(nodes[0]); 9.405+ } 9.406+} 9.407+ 9.408+function docFromHTML(html) { 9.409+ var doc = document.implementation.createHTMLDocument(''); 9.410+ doc.documentElement.innerHTML = html; 9.411+ return doc; 9.412+} 9.413+ 9.414+function appendFormatHTML(element, formatStr, replacements) { 9.415+ element.insertAdjacentHTML('beforeend', format(formatStr, replacements)); 9.416+} 9.417+ 9.418+function adoptChildren(from, to) { 9.419+ var nodes = from.children; 9.420+ var curClass = 'c' + Date.now(); 9.421+ while (nodes.length) { 9.422+ var node = nodes[0]; 9.423+ node = document.adoptNode(node); 9.424+ node.classList.add(curClass); 9.425+ to.appendChild(node); 9.426+ } 9.427+ process_dates('.' + curClass); 9.428+} 9.429+ 9.430+function ajaxScrollInit(urlFormat, 9.431+ nextPageVar, 9.432+ nextPageVarGet, 9.433+ containerSelector, 9.434+ messageFormat, 9.435+ mode) { 9.436+ var updateInitiated = false; 9.437+ var container = document.querySelector(containerSelector); 9.438+ 9.439+ function scrollHandler() { 9.440+ if (updateInitiated) { 9.441+ return; 9.442+ } 9.443+ 9.444+ var scrollHeight = document.documentElement.scrollHeight; 9.445+ var clientHeight = document.documentElement.clientHeight; 9.446+ var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; 9.447+ 9.448+ if (scrollHeight - (scrollTop + clientHeight) < 50) { 9.449+ updateInitiated = true; 9.450+ removeByClassName('scroll-loading-error'); 9.451+ container.lastElementChild.classList.add('scroll-separator'); 9.452+ 9.453+ if (!nextPageVar) { 9.454+ var message = { 9.455+ 'class': 'scroll-loading-info', 9.456+ text: 'No more entries' 9.457+ }; 9.458+ appendFormatHTML(container, messageFormat, message); 9.459+ return; 9.460+ } 9.461+ 9.462+ makeRequest( 9.463+ format(urlFormat, {next: nextPageVar}), 9.464+ 'GET', 9.465+ function onstart() { 9.466+ var message = { 9.467+ 'class': 'scroll-loading', 9.468+ text: 'Loading...' 9.469+ }; 9.470+ appendFormatHTML(container, messageFormat, message); 9.471+ }, 9.472+ function onsuccess(htmlText) { 9.473+ var doc = docFromHTML(htmlText); 9.474+ 9.475+ if (mode === 'graph') { 9.476+ var graph = window.graph; 9.477+ var dataStr = htmlText.match(/^\s*var data = (.*);$/m)[1]; 9.478+ var data = JSON.parse(dataStr); 9.479+ graph.reset(); 9.480+ adoptChildren(doc.querySelector('#graphnodes'), container.querySelector('#graphnodes')); 9.481+ graph.render(data); 9.482+ } else { 9.483+ adoptChildren(doc.querySelector(containerSelector), container); 9.484+ } 9.485+ 9.486+ nextPageVar = nextPageVarGet(htmlText); 9.487+ }, 9.488+ function onerror(errorText) { 9.489+ var message = { 9.490+ 'class': 'scroll-loading-error', 9.491+ text: 'Error: ' + errorText 9.492+ }; 9.493+ appendFormatHTML(container, messageFormat, message); 9.494+ }, 9.495+ function oncomplete() { 9.496+ removeByClassName('scroll-loading'); 9.497+ updateInitiated = false; 9.498+ scrollHandler(); 9.499+ } 9.500+ ); 9.501+ } 9.502+ } 9.503+ 9.504+ window.addEventListener('scroll', scrollHandler); 9.505+ window.addEventListener('resize', scrollHandler); 9.506+ scrollHandler(); 9.507+} 9.508+ 9.509+function renderDiffOptsForm() { 9.510+ // We use URLSearchParams for query string manipulation. Old browsers don't 9.511+ // support this API. 9.512+ if (!("URLSearchParams" in window)) { 9.513+ return; 9.514+ } 9.515+ 9.516+ var form = document.getElementById("diffopts-form"); 9.517+ 9.518+ var KEYS = [ 9.519+ "ignorews", 9.520+ "ignorewsamount", 9.521+ "ignorewseol", 9.522+ "ignoreblanklines", 9.523+ ]; 9.524+ 9.525+ var urlParams = new window.URLSearchParams(window.location.search); 9.526+ 9.527+ function updateAndRefresh(e) { 9.528+ var checkbox = e.target; 9.529+ var name = checkbox.id.substr(0, checkbox.id.indexOf("-")); 9.530+ urlParams.set(name, checkbox.checked ? "1" : "0"); 9.531+ window.location.search = urlParams.toString(); 9.532+ } 9.533+ 9.534+ var allChecked = form.getAttribute("data-ignorews") === "1"; 9.535+ 9.536+ for (var i = 0; i < KEYS.length; i++) { 9.537+ var key = KEYS[i]; 9.538+ 9.539+ var checkbox = document.getElementById(key + "-checkbox"); 9.540+ if (!checkbox) { 9.541+ continue; 9.542+ } 9.543+ 9.544+ var currentValue = form.getAttribute("data-" + key); 9.545+ checkbox.checked = currentValue !== "0"; 9.546+ 9.547+ // ignorews implies ignorewsamount and ignorewseol. 9.548+ if (allChecked && (key === "ignorewsamount" || key === "ignorewseol")) { 9.549+ checkbox.checked = true; 9.550+ checkbox.disabled = true; 9.551+ } 9.552+ 9.553+ checkbox.addEventListener("change", updateAndRefresh, false); 9.554+ } 9.555+ 9.556+ form.style.display = 'block'; 9.557+} 9.558+ 9.559+function addDiffStatToggle() { 9.560+ var els = document.getElementsByClassName("diffstattoggle"); 9.561+ 9.562+ for (var i = 0; i < els.length; i++) { 9.563+ els[i].addEventListener("click", toggleDiffstat, false); 9.564+ } 9.565+} 9.566+ 9.567+function addLineWrapToggle() { 9.568+ var els = document.getElementsByClassName("linewraptoggle"); 9.569+ 9.570+ for (var i = 0; i < els.length; i++) { 9.571+ var nodes = els[i].getElementsByClassName("linewraplink"); 9.572+ 9.573+ for (var j = 0; j < nodes.length; j++) { 9.574+ nodes[j].addEventListener("click", toggleLinewrap, false); 9.575+ } 9.576+ } 9.577+} 9.578+ 9.579+document.addEventListener('DOMContentLoaded', function() { 9.580+ process_dates(); 9.581+ addDiffStatToggle(); 9.582+ addLineWrapToggle(); 9.583+}, false);
10.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 10.2+++ b/static/style.css Sat Jul 20 22:31:54 2024 -0400 10.3@@ -0,0 +1,128 @@ 10.4+body { background-color: #232220; color: antiquewhite; } 10.5+h2 { font-family: mono; } 10.6+ 10.7+a { text-decoration:none; color: #2B944B; font-weight: bold; } 10.8+a:visited { color: chocolate; } 10.9+a:hover { color: #E7600E; text-decoration:underline overline; } 10.10+.age { white-space:nowrap; color: #87606C;} 10.11+.date { white-space:nowrap; color: #232436; font-weight: bold;} 10.12+.indexlinks { white-space:nowrap; } 10.13+.parity0 { background-color: antiquewhite; color: #111111; font-family: mono; } 10.14+.parity1 { background-color: antiquewhite; color: #111111; font-family: mono;} 10.15+.lineno { width: 60px; color: black; font-size: x-small; 10.16+ text-align: left; 10.17+ display: inline-table; } 10.18+.author { color: #9470FF; } 10.19+.plusline { color: green; } 10.20+.minusline { color: red; } 10.21+.atline { color: purple; } 10.22+.annotate { font-size: smaller; text-align: right; padding-right: 1em; } 10.23+tr.thisrev a { color:#999999; text-decoration: none; text-style: oblique; } 10.24+tr.thisrev pre { color:#009900; } 10.25+td.annotate { 10.26+ white-space: nowrap; 10.27+} 10.28+div.annotate-info { 10.29+ display: none; 10.30+ position: absolute; 10.31+ background-color: #FFFFFF; 10.32+ border: 1px solid #888; 10.33+ text-align: left; 10.34+ color: #000000; 10.35+ padding: 5px; 10.36+} 10.37+div.annotate-info a { color: #0000FF; } 10.38+td.annotate:hover div.annotate-info { display: inline; } 10.39+div.buttons { background-color: black; padding: 10px; } 10.40+.buttons a { 10.41+ background-color: #D64F53; 10.42+ padding: 2pt; 10.43+ color: wheat; 10.44+ font-family: mono; 10.45+ font-weight: bold; 10.46+ 10.47+} 10.48+.navigate a { 10.49+ background-color: #ccc; 10.50+ padding: 2pt; 10.51+ font-family: mono; 10.52+ color: black; 10.53+} 10.54+ 10.55+.metatag { 10.56+ background-color: #000000; 10.57+ color: #FFFF; 10.58+ text-align: right; 10.59+ font-weight: bolder; 10.60+} 10.61+ 10.62+/* Common */ 10.63+pre { margin: 0; } 10.64+ 10.65+.logo { 10.66+ bottom:0; 10.67+ right:0; 10.68+ position:fixed; 10.69+} 10.70+ 10.71+/* Changelog/Filelog entries */ 10.72+.logEntry { width: 100%; } 10.73+.logEntry .age { width: 15%; } 10.74+.logEntry th.label { width: 16em; } 10.75+.logEntry th { font-weight: normal; text-align: right; vertical-align: top; } 10.76+.logEntry th.age, .logEntry th.firstline { font-weight: bold; } 10.77+.logEntry th.firstline { text-align: left; width: inherit; } 10.78+ 10.79+/* Shortlog entries */ 10.80+.slogEntry { width: 100%; } 10.81+.slogEntry .age { width: 8em; font-style: italic; } 10.82+.slogEntry td { text-align: left; vertical-align: top; } 10.83+.slogEntry td.author { width: 15em; font-weight: bold;} 10.84+ 10.85+/* Tag entries */ 10.86+#tagEntries { list-style: none; margin: 0; padding: 0; } 10.87+#tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; } 10.88+ 10.89+/* Changeset entry */ 10.90+#changesetEntry { } 10.91+#changesetEntry th { font-weight: normal; background-color: #382738; color: #E8CEBD; text-align: right; } 10.92+#changesetEntry th.files, #changesetEntry th.description { vertical-align: top; } 10.93+ 10.94+/* File diff view */ 10.95+#filediffEntry { } 10.96+#filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; } 10.97+ 10.98+/* Graph */ 10.99+div#wrapper { 10.100+ position: relative; 10.101+ margin: 0; 10.102+ padding: 0; 10.103+} 10.104+ 10.105+canvas { 10.106+ position: absolute; 10.107+ z-index: 5; 10.108+ top: -0.6em; 10.109+ margin: 0; 10.110+} 10.111+ 10.112+ul#graphnodes { 10.113+ list-style: none inside none; 10.114+ padding: 0; 10.115+ margin: 0; 10.116+} 10.117+ 10.118+ul#graphnodes li { 10.119+ height: 37px; 10.120+ overflow: visible; 10.121+ padding-top: 2px; 10.122+} 10.123+ 10.124+ul#graphnodes li .fg { 10.125+ position: absolute; 10.126+ z-index: 10; 10.127+} 10.128+ 10.129+ul#graphnodes li .info { 10.130+ font-size: 70%; 10.131+}
12.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 12.2+++ b/templates/atom/bookmarkentry.tmpl Sat Jul 20 22:31:54 2024 -0400 12.3@@ -0,0 +1,8 @@ 12.4+ <entry> 12.5+ <title>{bookmark|escape}</title> 12.6+ <link rel="alternate" href="{urlbase}{url|urlescape}rev/{node|short}"/> 12.7+ <id>{urlbase}{url|urlescape}#bookmark-{node}</id> 12.8+ <updated>{date|rfc3339date}</updated> 12.9+ <published>{date|rfc3339date}</published> 12.10+ <content type="text">{bookmark|strip|escape}</content> 12.11+ </entry>
13.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 13.2+++ b/templates/atom/bookmarks.tmpl Sat Jul 20 22:31:54 2024 -0400 13.3@@ -0,0 +1,11 @@ 13.4+{header} 13.5+ <id>{urlbase}{url|urlescape}</id> 13.6+ <link rel="self" href="{urlbase}{url|urlescape}atom-bookmarks"/> 13.7+ <link rel="alternate" href="{urlbase}{url|urlescape}bookmarks"/> 13.8+ <title>{repo|escape}: bookmarks</title> 13.9+ <summary>{repo|escape} bookmark history</summary> 13.10+ <author><name>Mercurial SCM</name></author> 13.11+ {lastchange%feedupdated} 13.12+ 13.13+{entries%bookmarkentry} 13.14+</feed>
14.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 14.2+++ b/templates/atom/branchentry.tmpl Sat Jul 20 22:31:54 2024 -0400 14.3@@ -0,0 +1,8 @@ 14.4+ <entry> 14.5+ <title>{branch|escape}</title> 14.6+ <link rel="alternate" href="{urlbase}{url|urlescape}rev/{node|short}"/> 14.7+ <id>{urlbase}{url|urlescape}#branch-{node}</id> 14.8+ <updated>{date|rfc3339date}</updated> 14.9+ <published>{date|rfc3339date}</published> 14.10+ <content type="text">{branch|strip|escape}</content> 14.11+ </entry>
15.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 15.2+++ b/templates/atom/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 15.3@@ -0,0 +1,11 @@ 15.4+{header} 15.5+ <id>{urlbase}{url|urlescape}</id> 15.6+ <link rel="self" href="{urlbase}{url|urlescape}atom-branches"/> 15.7+ <link rel="alternate" href="{urlbase}{url|urlescape}branches"/> 15.8+ <title>{repo|escape}: branches</title> 15.9+ <summary>{repo|escape} branch history</summary> 15.10+ <author><name>Mercurial SCM</name></author> 15.11+ {latestentry%feedupdated} 15.12+ 15.13+ {entries%branchentry} 15.14+</feed>
16.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 16.2+++ b/templates/atom/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 16.3@@ -0,0 +1,10 @@ 16.4+{header} 16.5+ <!-- Changelog --> 16.6+ <id>{urlbase}{url|urlescape}</id> 16.7+ <link rel="self" href="{urlbase}{url|urlescape}atom-log"/> 16.8+ <link rel="alternate" href="{urlbase}{url|urlescape}"/> 16.9+ <title>{repo|escape} Changelog</title> 16.10+ {latestentry%feedupdated} 16.11+ 16.12+{entries%changelogentry} 16.13+</feed>
17.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 17.2+++ b/templates/atom/changelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 17.3@@ -0,0 +1,43 @@ 17.4+ <entry> 17.5+ <title>{inbranch%"{if(name, '[{name|escape}] ')}"}{branches%"{if(name, '[{name|escape}] ')}"}{desc|strip|firstline|strip|escape|nonempty}</title> 17.6+ <id>{urlbase}{url|urlescape}#changeset-{node}</id> 17.7+ <link href="{urlbase}{url|urlescape}rev/{node|short}"/> 17.8+ <author> 17.9+ <name>{author|person|escape}</name> 17.10+ <email>{author|email|obfuscate}</email> 17.11+ </author> 17.12+ <updated>{date|rfc3339date}</updated> 17.13+ <published>{date|rfc3339date}</published> 17.14+ <content type="xhtml"> 17.15+ <table xmlns="http://www.w3.org/1999/xhtml"> 17.16+ <tr> 17.17+ <th style="text-align:left;">changeset</th> 17.18+ <td>{node|short}</td> 17.19+ </tr> 17.20+ <tr> 17.21+ <th style="text-align:left;">branch</th> 17.22+ <td>{inbranch%"{name|escape}"}{branches%"{name|escape}"}</td> 17.23+ </tr> 17.24+ <tr> 17.25+ <th style="text-align:left;">bookmark</th> 17.26+ <td>{bookmarks%"{name|escape}"}</td> 17.27+ </tr> 17.28+ <tr> 17.29+ <th style="text-align:left;">tag</th> 17.30+ <td>{tags%"{name|escape}"}</td> 17.31+ </tr> 17.32+ <tr> 17.33+ <th style="text-align:left;">user</th> 17.34+ <td>{author|obfuscate}</td> 17.35+ </tr> 17.36+ <tr> 17.37+ <th style="text-align:left;vertical-align:top;">description</th> 17.38+ <td>{desc|strip|escape|websub|addbreaks|nonempty}</td> 17.39+ </tr> 17.40+ <tr> 17.41+ <th style="text-align:left;vertical-align:top;">files</th> 17.42+ <td>{files}</td> 17.43+ </tr> 17.44+ </table> 17.45+ </content> 17.46+ </entry>
18.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 18.2+++ b/templates/atom/error.tmpl Sat Jul 20 22:31:54 2024 -0400 18.3@@ -0,0 +1,17 @@ 18.4+{header} 18.5+ <!-- Error --> 18.6+ <id>{urlbase}{url|urlescape}</id> 18.7+ <link rel="self" href="{urlbase}{url|urlescape}atom-log"/> 18.8+ <link rel="alternate" href="{urlbase}{url|urlescape}"/> 18.9+ <title>Error</title> 18.10+ <updated>1970-01-01T00:00:00+00:00</updated> 18.11+ <entry> 18.12+ <title>Error</title> 18.13+ <id>https://mercurial-scm.org/#error</id> 18.14+ <author> 18.15+ <name>mercurial</name> 18.16+ </author> 18.17+ <updated>1970-01-01T00:00:00+00:00</updated> 18.18+ <content type="text">{error|escape}</content> 18.19+ </entry> 18.20+</feed>
19.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 19.2+++ b/templates/atom/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 19.3@@ -0,0 +1,8 @@ 19.4+{header} 19.5+ <id>{urlbase}{url|urlescape}atom-log/tip/{file|escape}</id> 19.6+ <link rel="self" href="{urlbase}{url|urlescape}atom-log/tip/{file|urlescape}"/> 19.7+ <title>{repo|escape}: {file|escape} history</title> 19.8+ {latestentry%feedupdated} 19.9+ 19.10+{entries%changelogentry} 19.11+</feed>
20.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 20.2+++ b/templates/atom/header.tmpl Sat Jul 20 22:31:54 2024 -0400 20.3@@ -0,0 +1,2 @@ 20.4+<?xml version="1.0" encoding="{encoding}"?> 20.5+<feed xmlns="http://www.w3.org/2005/Atom"> 20.6\ No newline at end of file
21.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 21.2+++ b/templates/atom/map Sat Jul 20 22:31:54 2024 -0400 21.3@@ -0,0 +1,18 @@ 21.4+default = 'changelog' 21.5+feedupdated = '<updated>{date|rfc3339date}</updated>' 21.6+mimetype = 'application/atom+xml; charset={encoding}' 21.7+header = header.tmpl 21.8+changelog = changelog.tmpl 21.9+changelogentry = changelogentry.tmpl 21.10+filelog = filelog.tmpl 21.11+tags = tags.tmpl 21.12+tagentry = tagentry.tmpl 21.13+bookmarks = bookmarks.tmpl 21.14+bookmarkentry = bookmarkentry.tmpl 21.15+branches = branches.tmpl 21.16+branchentry = branchentry.tmpl 21.17+error = error.tmpl 21.18+filedifflink = '{file|escape}<br />' 21.19+fileellipses = '{file|escape}<br />' 21.20+filenodelink = '{file|escape}<br />' 21.21+filenolink = '{file|escape}<br />'
22.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 22.2+++ b/templates/atom/tagentry.tmpl Sat Jul 20 22:31:54 2024 -0400 22.3@@ -0,0 +1,8 @@ 22.4+ <entry> 22.5+ <title>{tag|escape}</title> 22.6+ <link rel="alternate" href="{urlbase}{url|urlescape}rev/{node|short}"/> 22.7+ <id>{urlbase}{url|urlescape}#tag-{node}</id> 22.8+ <updated>{date|rfc3339date}</updated> 22.9+ <published>{date|rfc3339date}</published> 22.10+ <content type="text">{tag|strip|escape}</content> 22.11+ </entry>
23.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 23.2+++ b/templates/atom/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 23.3@@ -0,0 +1,11 @@ 23.4+{header} 23.5+ <id>{urlbase}{url|urlescape}</id> 23.6+ <link rel="self" href="{urlbase}{url|urlescape}atom-tags"/> 23.7+ <link rel="alternate" href="{urlbase}{url|urlescape}tags"/> 23.8+ <title>{repo|escape}: tags</title> 23.9+ <summary>{repo|escape} tag history</summary> 23.10+ <author><name>Mercurial SCM</name></author> 23.11+ {latestentry%feedupdated} 23.12+ 23.13+{entriesnotip%tagentry} 23.14+</feed>
25.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 25.2+++ b/templates/coal/header.tmpl Sat Jul 20 22:31:54 2024 -0400 25.3@@ -0,0 +1,8 @@ 25.4+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 25.5+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> 25.6+<head> 25.7+<link rel="icon" href="{staticurl|urlescape}hgicon.png" type="image/png" /> 25.8+<meta name="robots" content="index, nofollow" /> 25.9+<link rel="stylesheet" href="{staticurl|urlescape}style-paper.css" type="text/css" /> 25.10+<link rel="stylesheet" href="{staticurl|urlescape}style-extra-coal.css" type="text/css" /> 25.11+<script type="text/javascript" src="{staticurl|urlescape}mercurial.js"></script>
26.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 26.2+++ b/templates/coal/map Sat Jul 20 22:31:54 2024 -0400 26.3@@ -0,0 +1,2 @@ 26.4+__base__ = ../paper/map 26.5+header = header.tmpl
28.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 28.2+++ b/templates/gitweb/bookmarks.tmpl Sat Jul 20 22:31:54 2024 -0400 28.3@@ -0,0 +1,35 @@ 28.4+{header} 28.5+<title>{repo|escape}: Bookmarks</title> 28.6+<link rel="alternate" type="application/atom+xml" 28.7+ href="{url|urlescape}atom-bookmarks" title="Atom feed for {repo|escape}: bookmarks"/> 28.8+<link rel="alternate" type="application/rss+xml" 28.9+ href="{url|urlescape}rss-bookmarks" title="RSS feed for {repo|escape}: bookmarks"/> 28.10+</head> 28.11+<body> 28.12+ 28.13+<div class="page_header"> 28.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 28.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / bookmarks 28.16+</div> 28.17+ 28.18+<div class="page_nav"> 28.19+<div> 28.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 28.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 28.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 28.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 28.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 28.25+bookmarks | 28.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 28.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 28.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 28.29+</div> 28.30+{searchform} 28.31+</div> 28.32+ 28.33+<div class="title"> </div> 28.34+<table cellspacing="0"> 28.35+{entries%bookmarkentry} 28.36+</table> 28.37+ 28.38+{footer}
29.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 29.2+++ b/templates/gitweb/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 29.3@@ -0,0 +1,35 @@ 29.4+{header} 29.5+<title>{repo|escape}: Branches</title> 29.6+<link rel="alternate" type="application/atom+xml" 29.7+ href="{url|urlescape}atom-branches" title="Atom feed for {repo|escape}: branches"/> 29.8+<link rel="alternate" type="application/rss+xml" 29.9+ href="{url|urlescape}rss-branches" title="RSS feed for {repo|escape}: branches"/> 29.10+</head> 29.11+<body> 29.12+ 29.13+<div class="page_header"> 29.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 29.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / branches 29.16+</div> 29.17+ 29.18+<div class="page_nav"> 29.19+<div> 29.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 29.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 29.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 29.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 29.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 29.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 29.26+branches | 29.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 29.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 29.29+</div> 29.30+{searchform} 29.31+</div> 29.32+ 29.33+<div class="title"> </div> 29.34+<table cellspacing="0"> 29.35+{entries%branchentry} 29.36+</table> 29.37+ 29.38+{footer}
30.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 30.2+++ b/templates/gitweb/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 30.3@@ -0,0 +1,38 @@ 30.4+{header} 30.5+<title>{repo|escape}: Changelog</title> 30.6+<link rel="alternate" type="application/atom+xml" 30.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 30.8+<link rel="alternate" type="application/rss+xml" 30.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 30.10+</head> 30.11+<body> 30.12+ 30.13+<div class="page_header"> 30.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 30.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / changelog 30.16+</div> 30.17+ 30.18+<div class="page_nav"> 30.19+<div> 30.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 30.21+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> | 30.22+changelog | 30.23+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> | 30.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 30.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 30.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 30.27+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a>{archives%archiveentry} | 30.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 30.29+<br/> 30.30+{changenav%nav}<br/> 30.31+</div> 30.32+{searchform} 30.33+</div> 30.34+ 30.35+{entries%changelogentry} 30.36+ 30.37+<div class="extra_nav"> 30.38+{changenav%nav}<br/> 30.39+</div> 30.40+ 30.41+{footer}
31.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 31.2+++ b/templates/gitweb/changelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 31.3@@ -0,0 +1,16 @@ 31.4+<div> 31.5+ <a class="title" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 31.6+ <span class="age">{date|rfc822date}</span> 31.7+ {desc|strip|firstline|escape|nonempty} 31.8+ {alltags} 31.9+ </a> 31.10+</div> 31.11+<div class="title_text"> 31.12+<div class="log_link"> 31.13+<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a><br/> 31.14+</div> 31.15+<i>{author|obfuscate} [{date|rfc822date}] rev {rev}</i><br/> 31.16+</div> 31.17+<div class="log_body description">{desc|strip|escape|websub|nonempty} 31.18+ 31.19+</div>
32.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 32.2+++ b/templates/gitweb/changeset.tmpl Sat Jul 20 22:31:54 2024 -0400 32.3@@ -0,0 +1,62 @@ 32.4+{header} 32.5+<title>{repo|escape}: changeset {rev}:{node|short}</title> 32.6+<link rel="alternate" type="application/atom+xml" 32.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 32.8+<link rel="alternate" type="application/rss+xml" 32.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 32.10+</head> 32.11+<body> 32.12+ 32.13+<div class="page_header"> 32.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 32.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / changeset 32.16+</div> 32.17+ 32.18+<div class="page_nav"> 32.19+<div> 32.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 32.21+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> | 32.22+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> | 32.23+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> | 32.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 32.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 32.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 32.27+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a> | 32.28+changeset | 32.29+<a href="{url|urlescape}raw-rev/{symrev}">raw</a> {archives%archiveentry} | 32.30+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 32.31+</div> 32.32+{searchform} 32.33+</div> 32.34+ 32.35+<div> 32.36+ <a class="title" href="{url|urlescape}raw-rev/{node|short}"> 32.37+ {desc|strip|escape|firstline|nonempty} 32.38+ {alltags} 32.39+ </a> 32.40+</div> 32.41+<div class="title_text"> 32.42+<table cellspacing="0"> 32.43+<tr><td>author</td><td>{author|obfuscate}</td></tr> 32.44+<tr><td></td><td class="date age">{date|rfc822date}</td></tr> 32.45+{branch%changesetbranch} 32.46+<tr> 32.47+ <td>changeset {rev}</td> 32.48+ <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 32.49+</tr> 32.50+{if(obsolete, succsandmarkers%obsfateentry)} 32.51+{if(instabilities, whyunstable%whyunstableentry)} 32.52+{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)} 32.53+{child%changesetchild} 32.54+</table></div> 32.55+ 32.56+<div class="page_body description">{desc|strip|escape|websub|nonempty}</div> 32.57+<div class="list_head"></div> 32.58+<div class="title_text"> 32.59+<table cellspacing="0"> 32.60+{files} 32.61+</table></div> 32.62+ 32.63+<div class="page_body diffblocks">{diff}</div> 32.64+ 32.65+{footer}
33.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 33.2+++ b/templates/gitweb/error.tmpl Sat Jul 20 22:31:54 2024 -0400 33.3@@ -0,0 +1,37 @@ 33.4+{header} 33.5+<title>{repo|escape}: Error</title> 33.6+<link rel="alternate" type="application/atom+xml" 33.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 33.8+<link rel="alternate" type="application/rss+xml" 33.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 33.10+</head> 33.11+<body> 33.12+ 33.13+<div class="page_header"> 33.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 33.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / error 33.16+</div> 33.17+ 33.18+<div class="page_nav"> 33.19+<div> 33.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 33.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 33.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 33.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 33.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 33.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 33.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 33.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 33.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 33.29+</div> 33.30+{searchform} 33.31+</div> 33.32+ 33.33+<div class="page_body"> 33.34+<br/> 33.35+<i>An error occurred while processing your request</i><br/> 33.36+<br/> 33.37+{error|escape} 33.38+</div> 33.39+ 33.40+{footer}
34.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 34.2+++ b/templates/gitweb/fileannotate.tmpl Sat Jul 20 22:31:54 2024 -0400 34.3@@ -0,0 +1,85 @@ 34.4+{header} 34.5+<title>{repo|escape}: {file|escape}@{node|short} (annotated)</title> 34.6+<link rel="alternate" type="application/atom+xml" 34.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 34.8+<link rel="alternate" type="application/rss+xml" 34.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 34.10+</head> 34.11+<body> 34.12+ 34.13+<div class="page_header"> 34.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 34.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / annotate 34.16+</div> 34.17+ 34.18+<div class="page_nav"> 34.19+<div> 34.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 34.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 34.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 34.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 34.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 34.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 34.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 34.27+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> | 34.28+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> | 34.29+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 34.30+<a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | 34.31+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 34.32+annotate | 34.33+<a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 34.34+<a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 34.35+<a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a> | 34.36+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 34.37+</div> 34.38+{searchform} 34.39+</div> 34.40+ 34.41+<div class="title">{file|escape}</div> 34.42+ 34.43+<div class="title_text"> 34.44+<table cellspacing="0"> 34.45+<tr> 34.46+ <td>author</td> 34.47+ <td>{author|obfuscate}</td> 34.48+</tr> 34.49+<tr> 34.50+ <td></td> 34.51+ <td class="date age">{date|rfc822date}</td> 34.52+</tr> 34.53+{branch%filerevbranch} 34.54+<tr> 34.55+ <td>changeset {rev}</td> 34.56+ <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 34.57+</tr> 34.58+{parent%fileannotateparent} 34.59+{child%fileannotatechild} 34.60+<tr> 34.61+ <td>permissions</td> 34.62+ <td style="font-family:monospace">{permissions|permissions}</td> 34.63+</tr> 34.64+</table> 34.65+</div> 34.66+ 34.67+<div class="page_path description">{desc|strip|escape|websub|nonempty}</div> 34.68+ 34.69+{diffoptsform} 34.70+ 34.71+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 34.72+ renderDiffOptsForm(); 34.73+</script> 34.74+ 34.75+<div class="page_body"> 34.76+<table> 34.77+<tbody class="sourcelines" 34.78+ data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" 34.79+ data-selectabletag="TR" 34.80+ data-ishead="{ishead}"> 34.81+{annotate%annotateline} 34.82+</tbody> 34.83+</table> 34.84+</div> 34.85+ 34.86+<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script> 34.87+ 34.88+{footer}
35.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 35.2+++ b/templates/gitweb/filecomparison.tmpl Sat Jul 20 22:31:54 2024 -0400 35.3@@ -0,0 +1,75 @@ 35.4+{header} 35.5+<title>{repo|escape}: comparison {file|escape}</title> 35.6+<link rel="alternate" type="application/atom+xml" 35.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 35.8+<link rel="alternate" type="application/rss+xml" 35.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 35.10+</head> 35.11+<body> 35.12+ 35.13+<div class="page_header"> 35.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 35.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / comparison 35.16+</div> 35.17+ 35.18+<div class="page_nav"> 35.19+<div> 35.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 35.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 35.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 35.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 35.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 35.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 35.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 35.27+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> | 35.28+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> | 35.29+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 35.30+<a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | 35.31+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 35.32+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 35.33+<a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 35.34+comparison | 35.35+<a href="{url|urlescape}raw-diff/{symrev}/{file|urlescape}">raw</a> | 35.36+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 35.37+</div> 35.38+{searchform} 35.39+</div> 35.40+ 35.41+<div class="title">{file|escape}</div> 35.42+ 35.43+<table> 35.44+{branch%filerevbranch} 35.45+<tr> 35.46+ <td>changeset {rev}</td> 35.47+ <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 35.48+</tr> 35.49+{parent%filecompparent} 35.50+{child%filecompchild} 35.51+</table> 35.52+ 35.53+<div class="list_head"></div> 35.54+ 35.55+<div class="page_body"> 35.56+ 35.57+<div class="legend"> 35.58+ <span class="legendinfo equal">equal</span> 35.59+ <span class="legendinfo delete">deleted</span> 35.60+ <span class="legendinfo insert">inserted</span> 35.61+ <span class="legendinfo replace">replaced</span> 35.62+</div> 35.63+ 35.64+<div class="comparison"> 35.65+ <table style="border-collapse:collapse;"> 35.66+ <thead class="header"> 35.67+ <tr> 35.68+ <th>{leftrev}:{leftnode|short}</th> 35.69+ <th>{rightrev}:{rightnode|short}</th> 35.70+ </tr> 35.71+ </thead> 35.72+ {comparison} 35.73+ </table> 35.74+</div> 35.75+ 35.76+</div> 35.77+ 35.78+{footer}
36.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 36.2+++ b/templates/gitweb/filediff.tmpl Sat Jul 20 22:31:54 2024 -0400 36.3@@ -0,0 +1,56 @@ 36.4+{header} 36.5+<title>{repo|escape}: diff {file|escape}</title> 36.6+<link rel="alternate" type="application/atom+xml" 36.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 36.8+<link rel="alternate" type="application/rss+xml" 36.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 36.10+</head> 36.11+<body> 36.12+ 36.13+<div class="page_header"> 36.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 36.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / diff 36.16+</div> 36.17+ 36.18+<div class="page_nav"> 36.19+<div> 36.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 36.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 36.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 36.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 36.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 36.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 36.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 36.27+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> | 36.28+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> | 36.29+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 36.30+<a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | 36.31+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 36.32+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 36.33+diff | 36.34+<a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 36.35+<a href="{url|urlescape}raw-diff/{symrev}/{file|urlescape}">raw</a> | 36.36+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 36.37+</div> 36.38+{searchform} 36.39+</div> 36.40+ 36.41+<div class="title">{file|escape}</div> 36.42+ 36.43+<table> 36.44+{branch%filerevbranch} 36.45+<tr> 36.46+ <td>changeset {rev}</td> 36.47+ <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 36.48+</tr> 36.49+{parent%filediffparent} 36.50+{child%filediffchild} 36.51+</table> 36.52+ 36.53+<div class="list_head"></div> 36.54+ 36.55+<div class="page_body"> 36.56+{diff} 36.57+</div> 36.58+ 36.59+{footer}
37.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 37.2+++ b/templates/gitweb/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 37.3@@ -0,0 +1,52 @@ 37.4+{header} 37.5+<title>{repo|escape}: File revisions</title> 37.6+<link rel="alternate" type="application/atom+xml" 37.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 37.8+<link rel="alternate" type="application/rss+xml" 37.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 37.10+</head> 37.11+<body> 37.12+ 37.13+<div class="page_header"> 37.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 37.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / file revisions 37.16+</div> 37.17+ 37.18+<div class="page_nav"> 37.19+<div> 37.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 37.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 37.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 37.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 37.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 37.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 37.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 37.27+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 37.28+revisions | 37.29+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 37.30+<a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 37.31+<a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 37.32+<a href="{url|urlescape}rss-log/tip/{file|urlescape}">rss</a> | 37.33+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 37.34+<br/> 37.35+{nav%filenav} 37.36+</div> 37.37+{searchform} 37.38+</div> 37.39+ 37.40+<div class="title" > 37.41+ {file|urlescape}{if(linerange, 37.42+' (following lines {linerange}{if(descend, ', descending')} <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">all revisions for this file</a>)')} 37.43+</div> 37.44+ 37.45+<table> 37.46+{entries%filelogentry} 37.47+</table> 37.48+ 37.49+<div class="extra_nav"> 37.50+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{lessvars%urlparameter}">less</a> 37.51+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{morevars%urlparameter}">more</a> 37.52+{nav%filenav} 37.53+</div> 37.54+ 37.55+{footer}
38.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 38.2+++ b/templates/gitweb/filerevision.tmpl Sat Jul 20 22:31:54 2024 -0400 38.3@@ -0,0 +1,77 @@ 38.4+{header} 38.5+<title>{repo|escape}: {file|escape}@{node|short}</title> 38.6+<link rel="alternate" type="application/atom+xml" 38.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 38.8+<link rel="alternate" type="application/rss+xml" 38.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 38.10+</head> 38.11+<body> 38.12+ 38.13+<div class="page_header"> 38.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 38.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / file revision 38.16+</div> 38.17+ 38.18+<div class="page_nav"> 38.19+<div> 38.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 38.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 38.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 38.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 38.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 38.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 38.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 38.27+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> | 38.28+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> | 38.29+file | 38.30+<a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a> | 38.31+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 38.32+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 38.33+<a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 38.34+<a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 38.35+<a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a> | 38.36+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 38.37+</div> 38.38+{searchform} 38.39+</div> 38.40+ 38.41+<div class="title">{file|escape}</div> 38.42+ 38.43+<div class="title_text"> 38.44+<table cellspacing="0"> 38.45+<tr> 38.46+ <td>author</td> 38.47+ <td>{author|obfuscate}</td> 38.48+</tr> 38.49+<tr> 38.50+ <td></td> 38.51+ <td class="date age">{date|rfc822date}</td> 38.52+</tr> 38.53+{branch%filerevbranch} 38.54+<tr> 38.55+ <td>changeset {rev}</td> 38.56+ <td style="font-family:monospace"><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 38.57+</tr> 38.58+{parent%filerevparent} 38.59+{child%filerevchild} 38.60+<tr> 38.61+ <td>permissions</td> 38.62+ <td style="font-family:monospace">{permissions|permissions}</td> 38.63+</tr> 38.64+</table> 38.65+</div> 38.66+ 38.67+<div class="page_path description">{desc|strip|escape|websub|nonempty}</div> 38.68+ 38.69+<div class="page_body"> 38.70+<pre class="sourcelines stripes" 38.71+ data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" 38.72+ data-selectabletag="SPAN" 38.73+ data-ishead="{ishead}"> 38.74+{text%fileline} 38.75+</pre> 38.76+</div> 38.77+ 38.78+<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script> 38.79+ 38.80+{footer}
39.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 39.2+++ b/templates/gitweb/footer.tmpl Sat Jul 20 22:31:54 2024 -0400 39.3@@ -0,0 +1,11 @@ 39.4+<div class="page_footer"> 39.5+<div class="page_footer_text">{repo|escape}</div> 39.6+<div class="rss_logo"> 39.7+<a href="{url|urlescape}rss-log">RSS</a> 39.8+<a href="{url|urlescape}atom-log">Atom</a> 39.9+</div> 39.10+<br /> 39.11+{motd} 39.12+</div> 39.13+</body> 39.14+</html>
40.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 40.2+++ b/templates/gitweb/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 40.3@@ -0,0 +1,70 @@ 40.4+{header} 40.5+<title>{repo|escape}: Graph</title> 40.6+<link rel="alternate" type="application/atom+xml" 40.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 40.8+<link rel="alternate" type="application/rss+xml" 40.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 40.10+</head> 40.11+<body> 40.12+ 40.13+<div class="page_header"> 40.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 40.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / graph 40.16+</div> 40.17+ 40.18+<div class="page_nav"> 40.19+<div> 40.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 40.21+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> | 40.22+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> | 40.23+graph | 40.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 40.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 40.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 40.27+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a>{archives%archiveentry} | 40.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 40.29+<br/> 40.30+<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a> 40.31+<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a> 40.32+| {changenav%navgraph} 40.33+</div> 40.34+{searchform} 40.35+</div> 40.36+ 40.37+<div class="title"> </div> 40.38+ 40.39+<noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> 40.40+ 40.41+<div id="wrapper"> 40.42+<canvas id="graph"></canvas> 40.43+<ul id="graphnodes">{nodes%graphentry}</ul> 40.44+</div> 40.45+ 40.46+<script{if(nonce, ' nonce="{nonce}"')}> 40.47+var data = {jsdata|json}; 40.48+var graph = new Graph(); 40.49+graph.scale({bg_height}); 40.50+graph.render(data); 40.51+</script> 40.52+ 40.53+<div class="extra_nav"> 40.54+<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a> 40.55+<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a> 40.56+| {changenav%navgraph} 40.57+</div> 40.58+ 40.59+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 40.60+ ajaxScrollInit( 40.61+ '{url|urlescape}graph/%next%{graphvars%urlparameter}', 40.62+ '{nextentry%"{node}"}', <!-- NEXTHASH 40.63+ function (htmlText) \{ 40.64+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 40.65+ return m ? m[1] : null; 40.66+ }, 40.67+ '#wrapper', 40.68+ '<div class="%class%" style="text-align: center;">%text%</div>', 40.69+ 'graph' 40.70+ ); 40.71+</script> 40.72+ 40.73+{footer}
41.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 41.2+++ b/templates/gitweb/graphentry.tmpl Sat Jul 20 22:31:54 2024 -0400 41.3@@ -0,0 +1,9 @@ 41.4+<li class="parity{parity}" data-node="{node|short}"> 41.5+ <div class="fg"> 41.6+ <span class="desc"> 41.7+ <a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"><b>{desc|strip|firstline|escape|nonempty}</b></a> 41.8+ </span> 41.9+ {alltags} 41.10+ <div class="info">{date|age}, by {author|person}</div> 41.11+ </div> 41.12+</li>
42.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 42.2+++ b/templates/gitweb/header.tmpl Sat Jul 20 22:31:54 2024 -0400 42.3@@ -0,0 +1,8 @@ 42.4+<?xml version="1.0" encoding="{encoding}"?> 42.5+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 42.6+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> 42.7+<head> 42.8+<link rel="icon" href="{staticurl|urlescape}hgicon.png" type="image/png" /> 42.9+<meta name="robots" content="index, nofollow"/> 42.10+<link rel="stylesheet" href="{staticurl|urlescape}style-gitweb.css" type="text/css" /> 42.11+<script type="text/javascript" src="{staticurl|urlescape}mercurial.js"></script>
43.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 43.2+++ b/templates/gitweb/help.tmpl Sat Jul 20 22:31:54 2024 -0400 43.3@@ -0,0 +1,36 @@ 43.4+{header} 43.5+<title>Help: {topic}</title> 43.6+<link rel="alternate" type="application/atom+xml" 43.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 43.8+<link rel="alternate" type="application/rss+xml" 43.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 43.10+</head> 43.11+<body> 43.12+ 43.13+<div class="page_header"> 43.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 43.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / help 43.16+</div> 43.17+ 43.18+<div class="page_nav"> 43.19+<div> 43.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 43.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 43.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 43.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 43.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 43.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 43.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 43.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 43.28+help 43.29+</div> 43.30+{searchform} 43.31+</div> 43.32+ 43.33+<div class="title"> </div> 43.34+ 43.35+<div id="doc"> 43.36+{rstdoc(doc, "html")} 43.37+</div> 43.38+ 43.39+{footer}
44.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 44.2+++ b/templates/gitweb/helptopics.tmpl Sat Jul 20 22:31:54 2024 -0400 44.3@@ -0,0 +1,50 @@ 44.4+{header} 44.5+<title>Help: {title}</title> 44.6+<link rel="alternate" type="application/atom+xml" 44.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 44.8+<link rel="alternate" type="application/rss+xml" 44.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 44.10+</head> 44.11+<body> 44.12+ 44.13+<div class="page_header"> 44.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 44.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / help 44.16+</div> 44.17+ 44.18+<div class="page_nav"> 44.19+<div> 44.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 44.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 44.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 44.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 44.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 44.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 44.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 44.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 44.28+{if(subindex, 44.29+ '<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a>', 44.30+ 'help' 44.31+)} 44.32+</div> 44.33+{searchform} 44.34+</div> 44.35+ 44.36+<div class="title"> </div> 44.37+<table cellspacing="0"> 44.38+<tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr> 44.39+{topics % helpentry} 44.40+ 44.41+{if(earlycommands, ' 44.42+<tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr> 44.43+{earlycommands % helpentry} 44.44+')} 44.45+ 44.46+{if(othercommands, ' 44.47+<tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr> 44.48+{othercommands % helpentry} 44.49+')} 44.50+ 44.51+</table> 44.52+ 44.53+{footer}
45.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 45.2+++ b/templates/gitweb/index.tmpl Sat Jul 20 22:31:54 2024 -0400 45.3@@ -0,0 +1,26 @@ 45.4+{header} 45.5+<title>Mercurial repositories index</title> 45.6+</head> 45.7+<body> 45.8+ 45.9+<div class="page_header"> 45.10+ <a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 45.11+ <a href="/">Mercurial</a> {pathdef%breadcrumb} 45.12+</div> 45.13+ 45.14+<table cellspacing="0"> 45.15+ <tr> 45.16+ <td><a href="?sort={sort_name}">Name</a></td> 45.17+ <td><a href="?sort={sort_description}">Description</a></td> 45.18+ <td><a href="?sort={sort_contact}">Contact</a></td> 45.19+ <td><a href="?sort={sort_lastchange}">Last modified</a></td> 45.20+ <td> </td> 45.21+ <td> </td> 45.22+ </tr> 45.23+ {entries%indexentry} 45.24+</table> 45.25+<div class="page_footer"> 45.26+{motd} 45.27+</div> 45.28+</body> 45.29+</html>
46.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 46.2+++ b/templates/gitweb/manifest.tmpl Sat Jul 20 22:31:54 2024 -0400 46.3@@ -0,0 +1,38 @@ 46.4+{header} 46.5+<title>{repo|escape}: files</title> 46.6+<link rel="alternate" type="application/atom+xml" 46.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 46.8+<link rel="alternate" type="application/rss+xml" 46.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 46.10+</head> 46.11+<body> 46.12+ 46.13+<div class="page_header"> 46.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 46.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / files 46.16+</div> 46.17+ 46.18+<div class="page_nav"> 46.19+<div> 46.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 46.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 46.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 46.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 46.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 46.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 46.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 46.27+files | 46.28+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> {archives%archiveentry} | 46.29+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 46.30+</div> 46.31+{searchform} 46.32+</div> 46.33+ 46.34+<div class="title">{path|escape} {alltags}</div> 46.35+<table cellspacing="0"> 46.36+{ifeq(path, up, '', updirentry)} 46.37+{dentries%direntry} 46.38+{fentries%fileentry} 46.39+</table> 46.40+ 46.41+{footer}
47.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 47.2+++ b/templates/gitweb/map Sat Jul 20 22:31:54 2024 -0400 47.3@@ -0,0 +1,383 @@ 47.4+default = 'summary' 47.5+mimetype = 'text/html; charset={encoding}' 47.6+header = header.tmpl 47.7+footer = footer.tmpl 47.8+search = search.tmpl 47.9+changelog = changelog.tmpl 47.10+summary = summary.tmpl 47.11+error = error.tmpl 47.12+notfound = notfound.tmpl 47.13+ 47.14+help = help.tmpl 47.15+helptopics = helptopics.tmpl 47.16+ 47.17+helpentry = ' 47.18+ <tr><td> 47.19+ <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}"> 47.20+ {if(basename, '{basename|escape}', '{topic|escape}')} 47.21+ </a> 47.22+ </td><td> 47.23+ {summary|escape} 47.24+ </td></tr>' 47.25+ 47.26+naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 47.27+navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 47.28+navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 47.29+filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' 47.30+filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 47.31+filenodelink = ' 47.32+ <tr class="parity{parity}"> 47.33+ <td><a class="list" href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td> 47.34+ <td></td> 47.35+ <td class="link"> 47.36+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 47.37+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 47.38+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 47.39+ <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 47.40+ <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 47.41+ </td> 47.42+ </tr>' 47.43+filenolink = ' 47.44+ <tr class="parity{parity}"> 47.45+ <td><a class="list" href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td> 47.46+ <td></td> 47.47+ <td class="link"> 47.48+ file | 47.49+ annotate | 47.50+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 47.51+ <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 47.52+ <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 47.53+ </td> 47.54+ </tr>' 47.55+ 47.56+nav = '{before%naventry} {after%naventry}' 47.57+navshort = '{before%navshortentry}{after%navshortentry}' 47.58+navgraph = '{before%navgraphentry}{after%navgraphentry}' 47.59+filenav = '{before%filenaventry}{after%filenaventry}' 47.60+ 47.61+fileellipses = '...' 47.62+changelogentry = changelogentry.tmpl 47.63+changeset = changeset.tmpl 47.64+manifest = manifest.tmpl 47.65+updirentry = ' 47.66+ <tr class="parity{upparity}"> 47.67+ <td style="font-family:monospace">drwxr-xr-x</td> 47.68+ <td style="font-family:monospace"></td> 47.69+ <td style="font-family:monospace"></td> 47.70+ <td> 47.71+ <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a> 47.72+ </td> 47.73+ <td class="link"> </td> 47.74+ </tr>' 47.75+direntry = ' 47.76+ <tr class="parity{parity}"> 47.77+ <td style="font-family:monospace">drwxr-xr-x</td> 47.78+ <td style="font-family:monospace"></td> 47.79+ <td style="font-family:monospace"></td> 47.80+ <td> 47.81+ <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a> 47.82+ <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a> 47.83+ </td> 47.84+ <td class="link"> 47.85+ <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> 47.86+ </td> 47.87+ </tr>' 47.88+fileentry = ' 47.89+ <tr class="parity{parity}"> 47.90+ <td style="font-family:monospace">{permissions|permissions}</td> 47.91+ <td style="font-family:monospace" align=right>{date|isodate}</td> 47.92+ <td style="font-family:monospace" align=right>{size}</td> 47.93+ <td class="list"> 47.94+ <a class="list" href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a> 47.95+ </td> 47.96+ <td class="link"> 47.97+ <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 47.98+ <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 47.99+ <a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 47.100+ </td> 47.101+ </tr>' 47.102+filerevision = filerevision.tmpl 47.103+fileannotate = fileannotate.tmpl 47.104+filediff = filediff.tmpl 47.105+filecomparison = filecomparison.tmpl 47.106+filelog = filelog.tmpl 47.107+fileline = ' 47.108+ <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>' 47.109+annotateline = ' 47.110+ <tr id="{lineid}" style="font-family:monospace" class="parity{parity}{ifeq(node, originalnode, ' thisrev')}"> 47.111+ <td class="annotate linenr parity{blockparity}" style="text-align: right;"> 47.112+ {if(blockhead, 47.113+ '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 47.114+ {rev} 47.115+ </a>')} 47.116+ <div class="annotate-info"> 47.117+ <div> 47.118+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 47.119+ {node|short}</a> 47.120+ {desc|escape|firstline} 47.121+ </div> 47.122+ <div><em>{author|obfuscate}</em></div> 47.123+ <div>parents: {parents%annotateparent}</div> 47.124+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> 47.125+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> 47.126+ </div> 47.127+ </td> 47.128+ <td class="followlines-btn-parent"><pre><a class="linenr" href="#{lineid}">{linenumber}</a></pre></td> 47.129+ <td><pre>{line|escape}</pre></td> 47.130+ </tr>' 47.131+annotateparent = ' 47.132+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>' 47.133+difflineplus = ' 47.134+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineplus">{strip(line|escape, '\r\n')}</span>' 47.135+difflineminus = ' 47.136+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineminus">{strip(line|escape, '\r\n')}</span>' 47.137+difflineat = ' 47.138+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineat">{strip(line|escape, '\r\n')}</span>' 47.139+diffline = ' 47.140+ <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>' 47.141+ 47.142+comparisonblock =' 47.143+ <tbody class="block"> 47.144+ {lines} 47.145+ </tbody>' 47.146+comparisonline = ' 47.147+ <tr id="{lineid}" style="font-family:monospace"> 47.148+ <td class="{type}"><pre><a class="linenr" href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</pre></td> 47.149+ <td class="{type}"><pre><a class="linenr" href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</pre></td> 47.150+ </tr>' 47.151+ 47.152+changesetlink = '<a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 47.153+changesetbranch = '<tr><td>branch</td><td>{name|escape}</td></tr>' 47.154+changesetparent = ' 47.155+ <tr> 47.156+ <td>parent {rev}</td> 47.157+ <td style="font-family:monospace"> 47.158+ {changesetlink} 47.159+ </td> 47.160+ </tr>' 47.161+changesetparentdiff = ' 47.162+ <tr> 47.163+ <td>parent {rev}</td> 47.164+ <td style="font-family:monospace"> 47.165+ {changesetlink} {ifeq(node, basenode, '(current diff)', '({difffrom})')} 47.166+ </td> 47.167+ </tr>' 47.168+difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' 47.169+filerevbranch = '<tr><td>branch</td><td>{name|escape}</td></tr>' 47.170+filerevparent = ' 47.171+ <tr> 47.172+ <td>parent {rev}</td> 47.173+ <td style="font-family:monospace"> 47.174+ <a class="list" href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 47.175+ {rename%filerename}{node|short} 47.176+ </a> 47.177+ </td> 47.178+ </tr>' 47.179+filerename = '{file|escape}@' 47.180+filelogrename = '| <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>' 47.181+fileannotateparent = ' 47.182+ <tr> 47.183+ <td>parent {rev}</td> 47.184+ <td style="font-family:monospace"> 47.185+ <a class="list" href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 47.186+ {rename%filerename}{node|short} 47.187+ </a> 47.188+ </td> 47.189+ </tr>' 47.190+changesetchild = ' 47.191+ <tr> 47.192+ <td>child {rev}</td> 47.193+ <td style="font-family:monospace"> 47.194+ <a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 47.195+ </td> 47.196+ </tr>' 47.197+filerevchild = ' 47.198+ <tr> 47.199+ <td>child {rev}</td> 47.200+ <td style="font-family:monospace"> 47.201+ <a class="list" href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> 47.202+ </tr>' 47.203+fileannotatechild = ' 47.204+ <tr> 47.205+ <td>child {rev}</td> 47.206+ <td style="font-family:monospace"> 47.207+ <a class="list" href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> 47.208+ </tr>' 47.209+tags = tags.tmpl 47.210+tagentry = ' 47.211+ <tr class="parity{parity}"> 47.212+ <td class="age"><i class="age">{date|rfc822date}</i></td> 47.213+ <td><a class="list" href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}"><b>{tag|escape}</b></a></td> 47.214+ <td class="link"> 47.215+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 47.216+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 47.217+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 47.218+ </td> 47.219+ </tr>' 47.220+bookmarks = bookmarks.tmpl 47.221+bookmarkentry = ' 47.222+ <tr class="parity{parity}"> 47.223+ <td class="age"><i class="age">{date|rfc822date}</i></td> 47.224+ <td><a class="list" href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}"><b>{bookmark|escape}</b></a></td> 47.225+ <td class="link"> 47.226+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 47.227+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 47.228+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 47.229+ </td> 47.230+ </tr>' 47.231+branches = branches.tmpl 47.232+branchentry = ' 47.233+ <tr class="parity{parity}"> 47.234+ <td class="age"><i class="age">{date|rfc822date}</i></td> 47.235+ <td class="{status}"><a class="list" href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}"><b>{branch|escape}</b></a></td> 47.236+ <td class="link"> 47.237+ <a href="{url|urlescape}changeset/{node|short}{sessionvars%urlparameter}">changeset</a> | 47.238+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 47.239+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 47.240+ </td> 47.241+ </tr>' 47.242+diffblock = '<div class="diffblock"><pre class="sourcelines">{lines}</pre></div>' 47.243+filediffparent = ' 47.244+ <tr> 47.245+ <td>parent {rev}</td> 47.246+ <td style="font-family:monospace"> 47.247+ <a class="list" href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 47.248+ {node|short} 47.249+ </a> 47.250+ </td> 47.251+ </tr>' 47.252+filecompparent = ' 47.253+ <tr> 47.254+ <td>parent {rev}</td> 47.255+ <td style="font-family:monospace"> 47.256+ <a class="list" href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 47.257+ {node|short} 47.258+ </a> 47.259+ </td> 47.260+ </tr>' 47.261+filediffchild = ' 47.262+ <tr> 47.263+ <td>child {rev}</td> 47.264+ <td style="font-family:monospace"> 47.265+ <a class="list" href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> 47.266+ </td> 47.267+ </tr>' 47.268+filecompchild = ' 47.269+ <tr> 47.270+ <td>child {rev}</td> 47.271+ <td style="font-family:monospace"> 47.272+ <a class="list" href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> 47.273+ </td> 47.274+ </tr>' 47.275+shortlog = shortlog.tmpl 47.276+graph = graph.tmpl 47.277+graphentry = graphentry.tmpl 47.278+phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}' 47.279+obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}' 47.280+instabilitytag = '<span class="instabilitytag" title="{instability|escape}">{instability|escape}</span> ' 47.281+tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' 47.282+branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' 47.283+inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' 47.284+bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' 47.285+alltags = '<span class="logtags">{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' 47.286+successorlink = '<a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' 47.287+obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' 47.288+obsfateverb = '{obsfateverb(successors, markers)}' 47.289+obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' 47.290+obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' 47.291+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>')}')}' 47.292+obsfateentry = ' 47.293+ <tr> 47.294+ <td>obsolete</td> 47.295+ <td>{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}</td> 47.296+ </tr>' 47.297+instabilitychangesetlink = '<a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 47.298+divergentnode = '{instabilitychangesetlink} ({phase})' 47.299+whyunstableentry = ' 47.300+ <tr> 47.301+ <td>unstable</td> 47.302+ <td>{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}</td> 47.303+ </tr>' 47.304+shortlogentry = ' 47.305+ <tr class="parity{parity}"> 47.306+ <td class="age"><i class="age">{date|rfc822date}</i></td> 47.307+ <td><i>{author|person}</i></td> 47.308+ <td> 47.309+ <a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 47.310+ <b>{desc|strip|firstline|escape|nonempty}</b> 47.311+ {alltags} 47.312+ </a> 47.313+ </td> 47.314+ <td class="link" nowrap> 47.315+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 47.316+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 47.317+ </td> 47.318+ </tr>' 47.319+filelogentry = ' 47.320+ <tr class="parity{if(patch, '1', '{parity}')}"> 47.321+ <td class="age"><i class="age">{date|rfc822date}</i></td> 47.322+ <td><i>{author|person}</i></td> 47.323+ <td> 47.324+ <a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 47.325+ <b>{desc|strip|firstline|escape|nonempty}</b> 47.326+ {alltags} 47.327+ </a> 47.328+ </td> 47.329+ <td class="link"> 47.330+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 47.331+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 47.332+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 47.333+ {rename%filelogrename} 47.334+ </td> 47.335+ </tr> 47.336+ {if(patch, '<tr><td colspan="4">{diff}</td></tr>')}' 47.337+archiveentry = ' | <a href="{url|urlescape}archive/{symrev}{extension}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a> ' 47.338+indexentry = ' 47.339+ <tr class="parity{parity}"> 47.340+ <td> 47.341+ <a class="list" href="{url|urlescape}{sessionvars%urlparameter}"> 47.342+ <b>{name|escape}</b> 47.343+ </a> 47.344+ </td> 47.345+ <td>{description}</td> 47.346+ <td>{contact|obfuscate}</td> 47.347+ <td class="age">{lastchange|rfc822date}</td> 47.348+ <td class="indexlinks">{archives%indexarchiveentry}</td> 47.349+ <td>{if(isdirectory, '', 47.350+ '<div class="rss_logo"> 47.351+ <a href="{url|urlescape}rss-log">RSS</a> <a href="{url|urlescape}atom-log">Atom</a> 47.352+ </div>' 47.353+ )} 47.354+ </td> 47.355+ </tr>\n' 47.356+indexarchiveentry = ' <a href="{url|urlescape}archive/{node|short}{extension}">{type|escape}</a> ' 47.357+index = index.tmpl 47.358+urlparameter = '{separator}{name}={value|urlescape}' 47.359+hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' 47.360+breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> ' 47.361+ 47.362+searchform = ' 47.363+ <div class="search"> 47.364+ <form id="searchform" action="{url|urlescape}log"> 47.365+ {sessionvars%hiddenformentry} 47.366+ <input name="rev" type="text" value="{query|escape}" size="40" /> 47.367+ <div id="hint">{searchhint}</div> 47.368+ </form> 47.369+ </div>' 47.370+searchhint = 'Find changesets by keywords (author, files, the commit message), revision 47.371+ number or hash, or <a href="{url|urlescape}help/revsets">revset expression</a>.' 47.372+ 47.373+diffoptsform = ' 47.374+ <form id="diffopts-form" 47.375+ data-ignorews="{if(get(diffopts, 'ignorews'), '1', '0')}" 47.376+ data-ignorewsamount="{if(get(diffopts, 'ignorewsamount'), '1', '0')}" 47.377+ data-ignorewseol="{if(get(diffopts, 'ignorewseol'), '1', '0')}" 47.378+ data-ignoreblanklines="{if(get(diffopts, 'ignoreblanklines'), '1', '0')}"> 47.379+ <span>Ignore whitespace changes - </span> 47.380+ <span>Everywhere:</span> 47.381+ <input id="ignorews-checkbox" type="checkbox" /> 47.382+ <span>Within whitespace:</span> 47.383+ <input id="ignorewsamount-checkbox" type="checkbox" /> 47.384+ <span>At end of lines:</span> 47.385+ <input id="ignorewseol-checkbox" type="checkbox" /> 47.386+ </form>'
48.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 48.2+++ b/templates/gitweb/notfound.tmpl Sat Jul 20 22:31:54 2024 -0400 48.3@@ -0,0 +1,18 @@ 48.4+{header} 48.5+<title>Mercurial repository not found</title> 48.6+</head> 48.7+ 48.8+<body> 48.9+ 48.10+<div class="page_header"> 48.11+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> Not found: {repo|escape} 48.12+</div> 48.13+ 48.14+<div class="page_body"> 48.15+The specified repository "{repo|escape}" is unknown, sorry. 48.16+<br/> 48.17+<br/> 48.18+Please go back to the <a href="{url|urlescape}">main repository list page</a>. 48.19+</div> 48.20+ 48.21+{footer}
49.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 49.2+++ b/templates/gitweb/search.tmpl Sat Jul 20 22:31:54 2024 -0400 49.3@@ -0,0 +1,35 @@ 49.4+{header} 49.5+<title>{repo|escape}: Search</title> 49.6+<link rel="alternate" type="application/atom+xml" 49.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 49.8+<link rel="alternate" type="application/rss+xml" 49.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 49.10+</head> 49.11+<body> 49.12+ 49.13+<div class="page_header"> 49.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 49.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / search 49.16+</div> 49.17+ 49.18+<div class="page_nav"> 49.19+<div> 49.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 49.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 49.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 49.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 49.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 49.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 49.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 49.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a>{archives%archiveentry} 49.28+ | 49.29+ <a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 49.30+</div> 49.31+{searchform} 49.32+</div> 49.33+ 49.34+<div class="title">searching for {query|escape}</div> 49.35+ 49.36+{entries%changelogentry} 49.37+ 49.38+{footer}
50.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 50.2+++ b/templates/gitweb/shortlog.tmpl Sat Jul 20 22:31:54 2024 -0400 50.3@@ -0,0 +1,55 @@ 50.4+{header} 50.5+<title>{repo|escape}: Shortlog</title> 50.6+<link rel="alternate" type="application/atom+xml" 50.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 50.8+<link rel="alternate" type="application/rss+xml" 50.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 50.10+</head> 50.11+<body> 50.12+ 50.13+<div class="page_header"> 50.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 50.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / shortlog 50.16+</div> 50.17+ 50.18+<div class="page_nav"> 50.19+<div> 50.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 50.21+shortlog | 50.22+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> | 50.23+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> | 50.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 50.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 50.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 50.27+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a>{archives%archiveentry} | 50.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 50.29+<br/>{changenav%navshort}<br/> 50.30+</div> 50.31+{searchform} 50.32+</div> 50.33+ 50.34+<div class="title"> </div> 50.35+<table class="shortlogtable" cellspacing="0"> 50.36+{entries%shortlogentry} 50.37+</table> 50.38+ 50.39+<div class="extra_nav"> 50.40+{changenav%navshort} 50.41+</div> 50.42+ 50.43+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 50.44+ ajaxScrollInit( 50.45+ '{url|urlescape}shortlog/%next%{sessionvars%urlparameter}', 50.46+ '{nextentry%"{node}"}', <!-- NEXTHASH 50.47+ function (htmlText) \{ 50.48+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 50.49+ return m ? m[1] : null; 50.50+ }, 50.51+ '.shortlogtable > tbody:nth-of-type(1)', 50.52+ '<tr class="%class%">\ 50.53+ <td colspan="4" style="text-align: center;">%text%</td>\ 50.54+ </tr>' 50.55+ ); 50.56+</script> 50.57+ 50.58+{footer}
51.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 51.2+++ b/templates/gitweb/summary.tmpl Sat Jul 20 22:31:54 2024 -0400 51.3@@ -0,0 +1,62 @@ 51.4+{header} 51.5+<title>{repo|escape}: Summary</title> 51.6+<link rel="alternate" type="application/atom+xml" 51.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 51.8+<link rel="alternate" type="application/rss+xml" 51.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 51.10+</head> 51.11+<body> 51.12+ 51.13+<div class="page_header"> 51.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 51.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / summary 51.16+</div> 51.17+ 51.18+<div class="page_nav"> 51.19+<div> 51.20+summary | 51.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 51.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 51.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 51.24+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> | 51.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 51.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 51.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a>{archives%archiveentry} | 51.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 51.29+</div> 51.30+{searchform} 51.31+</div> 51.32+ 51.33+<div class="title"> </div> 51.34+<table cellspacing="0"> 51.35+<tr><td>description</td><td>{desc}</td></tr> 51.36+<tr><td>owner</td><td>{owner|obfuscate}</td></tr> 51.37+<tr><td>last change</td><td class="date age">{lastchange|rfc822date}</td></tr> 51.38+</table> 51.39+ 51.40+<div><a class="title" href="{url|urlescape}shortlog{sessionvars%urlparameter}">changes</a></div> 51.41+<table cellspacing="0"> 51.42+{shortlog%shortlogentry} 51.43+<tr class="light"><td colspan="4"><a class="list" href="{url|urlescape}shortlog{sessionvars%urlparameter}">...</a></td></tr> 51.44+</table> 51.45+ 51.46+<div><a class="title" href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></div> 51.47+<table cellspacing="0"> 51.48+{tags%tagentry} 51.49+<tr class="light"><td colspan="3"><a class="list" href="{url|urlescape}tags{sessionvars%urlparameter}">...</a></td></tr> 51.50+</table> 51.51+ 51.52+<div><a class="title" href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></div> 51.53+<table cellspacing="0"> 51.54+{bookmarks%bookmarkentry} 51.55+<tr class="light"><td colspan="3"><a class="list" href="{url|urlescape}bookmarks{sessionvars%urlparameter}">...</a></td></tr> 51.56+</table> 51.57+ 51.58+<div><a class="title" href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></div> 51.59+<table cellspacing="0"> 51.60+{branches%branchentry} 51.61+<tr class="light"> 51.62+ <td colspan="3"><a class="list" href="{url|urlescape}branches{sessionvars%urlparameter}">...</a></td> 51.63+</tr> 51.64+</table> 51.65+{footer}
52.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 52.2+++ b/templates/gitweb/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 52.3@@ -0,0 +1,35 @@ 52.4+{header} 52.5+<title>{repo|escape}: Tags</title> 52.6+<link rel="alternate" type="application/atom+xml" 52.7+ href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"/> 52.8+<link rel="alternate" type="application/rss+xml" 52.9+ href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"/> 52.10+</head> 52.11+<body> 52.12+ 52.13+<div class="page_header"> 52.14+<a href="{logourl}" title="Mercurial" style="float: right;">Mercurial</a> 52.15+<a href="/">Mercurial</a> {pathdef%breadcrumb} / tags 52.16+</div> 52.17+ 52.18+<div class="page_nav"> 52.19+<div> 52.20+<a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a> | 52.21+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> | 52.22+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> | 52.23+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> | 52.24+tags | 52.25+<a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a> | 52.26+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> | 52.27+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> | 52.28+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 52.29+</div> 52.30+{searchform} 52.31+</div> 52.32+ 52.33+<div class="title"> </div> 52.34+<table cellspacing="0"> 52.35+{entries%tagentry} 52.36+</table> 52.37+ 52.38+{footer}
54.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 54.2+++ b/templates/json/changelist.tmpl Sat Jul 20 22:31:54 2024 -0400 54.3@@ -0,0 +1,5 @@ 54.4+\{ 54.5+ "node": {node|json}, 54.6+ "changeset_count": {changesets|json}, 54.7+ "changesets": [{join(entries%changelistentry, ", ")}] 54.8+}
55.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 55.2+++ b/templates/json/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 55.3@@ -0,0 +1,5 @@ 55.4+\{ 55.5+ "node": {node|json}, 55.6+ "changeset_count": {changesets|json}, 55.7+ "changesets": [{join(nodes%graphentry, ", ")}] 55.8+}
56.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 56.2+++ b/templates/json/map Sat Jul 20 22:31:54 2024 -0400 56.3@@ -0,0 +1,252 @@ 56.4+default = 'shortlog' 56.5+mimetype = 'application/json' 56.6+ 56.7+filerevision = '\{ 56.8+ "node": {node|json}, 56.9+ "path": {file|json}, 56.10+ "date": {date|json}, 56.11+ "desc": {desc|utf8|json}, 56.12+ "branch": {if(branch, branch%changesetbranch, "default"|json)}, 56.13+ "bookmarks": [{join(bookmarks%changelistentryname, ", ")}], 56.14+ "tags": [{join(tags%changelistentryname, ", ")}], 56.15+ "user": {author|utf8|json}, 56.16+ "parents": [{join(parent%changesetparent, ", ")}], 56.17+ "phase": {phase|json}, 56.18+ "lines": [{join(text%lineentry, ", ")}] 56.19+ }' 56.20+lineentry = '\{ 56.21+ "line": {line|json} 56.22+ }' 56.23+search = '\{ 56.24+ "node": {node|json}, 56.25+ "query": {query|json}, 56.26+ "entries": [{join(entries%changelistentry, ", ")}] 56.27+ }' 56.28+# changelog and shortlog are the same web API but with different 56.29+# number of entries. 56.30+changelog = changelist.tmpl 56.31+shortlog = changelist.tmpl 56.32+graph = graph.tmpl 56.33+changelistentry = '\{ 56.34+ "node": {node|json}, 56.35+ "date": {date|json}, 56.36+ "desc": {desc|utf8|json}, 56.37+ "branch": {if(branch, branch%changesetbranch, "default"|json)}, 56.38+ "bookmarks": [{join(bookmarks%changelistentryname, ", ")}], 56.39+ "tags": [{join(tags%changelistentryname, ", ")}], 56.40+ "user": {author|utf8|json}, 56.41+ "phase": {phase|json}, 56.42+ "parents": [{if(allparents, join(allparents%changesetparent, ", "), 56.43+ join(parent%changesetparent, ", "))}] 56.44+ }' 56.45+graphentry = '\{ 56.46+ "node": {node|json}, 56.47+ "date": {date|json}, 56.48+ "desc": {desc|utf8|json}, 56.49+ "branch": {if(branch, branch%changesetbranch, "default"|json)}, 56.50+ "bookmarks": [{join(bookmarks%changelistentryname, ", ")}], 56.51+ "tags": [{join(tags%changelistentryname, ", ")}], 56.52+ "user": {author|utf8|json}, 56.53+ "phase": {phase|json}, 56.54+ "col": {col|json}, 56.55+ "row": {row|json}, 56.56+ "color": {color|json}, 56.57+ "edges": {edges|json}, 56.58+ "parents": [{if(allparents, join(allparents%changesetparent, ", "), 56.59+ join(parent%changesetparent, ", "))}] 56.60+ }' 56.61+changelistentryname = '{name|utf8|json}' 56.62+changeset = '\{ 56.63+ "node": {node|json}, 56.64+ "date": {date|json}, 56.65+ "desc": {desc|utf8|json}, 56.66+ "branch": {if(branch, branch%changesetbranch, "default"|json)}, 56.67+ "bookmarks": [{join(changesetbookmark, ", ")}], 56.68+ "tags": [{join(changesettag, ", ")}], 56.69+ "user": {author|utf8|json}, 56.70+ "parents": [{join(parent%changesetparent, ", ")}], 56.71+ "children": [{join(child%changesetparent, ", ")}], 56.72+ "files": [{join(files, ", ")}], 56.73+ "diff": [{join(diff, ", ")}], 56.74+ "phase": {phase|json} 56.75+ }' 56.76+changesetbranch = '{name|utf8|json}' 56.77+changesetbookmark = '{bookmark|utf8|json}' 56.78+changesettag = '{tag|utf8|json}' 56.79+changesetparent = '{node|json}' 56.80+manifest = '\{ 56.81+ "node": {node|json}, 56.82+ "abspath": {path|json}, 56.83+ "directories": [{join(dentries%direntry, ", ")}], 56.84+ "files": [{join(fentries%fileentry, ", ")}], 56.85+ "bookmarks": [{join(bookmarks%name, ", ")}], 56.86+ "tags": [{join(tags%name, ", ")}] 56.87+ }' 56.88+name = '{name|utf8|json}' 56.89+direntry = '\{ 56.90+ "abspath": {path|json}, 56.91+ "basename": {basename|json}, 56.92+ "emptydirs": {emptydirs|json} 56.93+ }' 56.94+fileentry = '\{ 56.95+ "abspath": {file|json}, 56.96+ "basename": {basename|json}, 56.97+ "date": {date|json}, 56.98+ "size": {size|json}, 56.99+ "flags": {permissions|json} 56.100+ }' 56.101+tags = '\{ 56.102+ "node": {node|json}, 56.103+ "tags": [{join(entriesnotip%tagentry, ", ")}] 56.104+ }' 56.105+tagentry = '\{ 56.106+ "tag": {tag|utf8|json}, 56.107+ "node": {node|json}, 56.108+ "date": {date|json} 56.109+ }' 56.110+bookmarks = '\{ 56.111+ "node": {node|json}, 56.112+ "bookmarks": [{join(entries%bookmarkentry, ", ")}] 56.113+ }' 56.114+bookmarkentry = '\{ 56.115+ "bookmark": {bookmark|utf8|json}, 56.116+ "node": {node|json}, 56.117+ "date": {date|json} 56.118+ }' 56.119+branches = '\{ 56.120+ "branches": [{join(entries%branchentry, ", ")}] 56.121+ }' 56.122+branchentry = '\{ 56.123+ "branch": {branch|utf8|json}, 56.124+ "node": {node|json}, 56.125+ "date": {date|json}, 56.126+ "status": {status|json} 56.127+ }' 56.128+shortlogentry = '{changelistentry}' 56.129+summary = '\{ 56.130+ "node": {node|json}, 56.131+ "lastchange": {lastchange|json}, 56.132+ "bookmarks": [{join(bookmarks%bookmarkentry, ", ")}], 56.133+ "branches": [{join(branches%branchentry, ", ")}], 56.134+ "shortlog": [{join(shortlog%shortlogentry, ", ")}], 56.135+ "tags": [{join(tags%tagentry, ", ")}], 56.136+ "archives": [{join(archives%archiveentry, ", ")}], 56.137+ "labels": {labels|json} 56.138+ }' 56.139+archiveentry = '\{ 56.140+ "node": {node|json}, 56.141+ "extension": {extension|json}, 56.142+ "type": {type|json}, 56.143+ "url": {"{urlbase}{url}archive/{node}{extension}"|json} 56.144+ }' 56.145+filediff = '\{ 56.146+ "path": {file|json}, 56.147+ "node": {node|json}, 56.148+ "date": {date|json}, 56.149+ "desc": {desc|utf8|json}, 56.150+ "author": {author|utf8|json}, 56.151+ "parents": [{join(parent%changesetparent, ", ")}], 56.152+ "children": [{join(child%changesetparent, ", ")}], 56.153+ "diff": [{join(diff, ", ")}] 56.154+ }' 56.155+diffblock = '\{ 56.156+ "blockno": {blockno|json}, 56.157+ "lines": [{join(lines, ", ")}] 56.158+ }' 56.159+difflineplus = '\{ 56.160+ "t": "+", 56.161+ "n": {lineno|json}, 56.162+ "l": {line|json} 56.163+ }' 56.164+difflineminus = '\{ 56.165+ "t": "-", 56.166+ "n": {lineno|json}, 56.167+ "l": {line|json} 56.168+ }' 56.169+difflineat = '\{ 56.170+ "t": "@", 56.171+ "n": {lineno|json}, 56.172+ "l": {line|json} 56.173+ }' 56.174+diffline = '\{ 56.175+ "t": "", 56.176+ "n": {lineno|json}, 56.177+ "l": {line|json} 56.178+ }' 56.179+filecomparison = '\{ 56.180+ "path": {file|json}, 56.181+ "node": {node|json}, 56.182+ "date": {date|json}, 56.183+ "desc": {desc|utf8|json}, 56.184+ "author": {author|utf8|json}, 56.185+ "parents": [{join(parent%changesetparent, ", ")}], 56.186+ "children": [{join(child%changesetparent, ", ")}], 56.187+ "leftnode": {leftnode|json}, 56.188+ "rightnode": {rightnode|json}, 56.189+ "comparison": [{join(comparison, ", ")}] 56.190+ }' 56.191+comparisonblock = '\{ 56.192+ "lines": [{join(lines, ", ")}] 56.193+ }' 56.194+comparisonline = '\{ 56.195+ "t": {type|json}, 56.196+ "ln": {leftlineno|json}, 56.197+ "ll": {leftline|json}, 56.198+ "rn": {rightlineno|json}, 56.199+ "rl": {rightline|json} 56.200+ }' 56.201+fileannotate = '\{ 56.202+ "abspath": {file|json}, 56.203+ "node": {node|json}, 56.204+ "author": {author|utf8|json}, 56.205+ "date": {date|json}, 56.206+ "desc": {desc|utf8|json}, 56.207+ "parents": [{join(parent%changesetparent, ", ")}], 56.208+ "children": [{join(child%changesetparent, ", ")}], 56.209+ "permissions": {permissions|json}, 56.210+ "annotate": [{join(annotate%fileannotation, ", ")}] 56.211+ }' 56.212+fileannotation = '\{ 56.213+ "node": {node|json}, 56.214+ "author": {author|utf8|json}, 56.215+ "desc": {desc|utf8|json}, 56.216+ "abspath": {file|json}, 56.217+ "targetline": {targetline|json}, 56.218+ "line": {line|json}, 56.219+ "lineno": {lineno|json}, 56.220+ "revdate": {revdate|json} 56.221+ }' 56.222+filelog = '\{ 56.223+ "entries": [{join(entries%changelistentry, ", ")}] 56.224+ }' 56.225+helptopics = '\{ 56.226+ "topics": [{join(topics%helptopicentry, ", ")}], 56.227+ "earlycommands": [{join(earlycommands%helptopicentry, ", ")}], 56.228+ "othercommands": [{join(othercommands%helptopicentry, ", ")}] 56.229+ }' 56.230+helptopicentry = '\{ 56.231+ "topic": {topic|utf8|json}, 56.232+ "summary": {summary|utf8|json} 56.233+ }' 56.234+help = '\{ 56.235+ "topic": {topic|utf8|json}, 56.236+ "rawdoc": {doc|utf8|json} 56.237+ }' 56.238+filenodelink = '\{ 56.239+ "file": {file|json}, 56.240+ "status": {status|json} 56.241+ }' 56.242+filenolink = '{filenodelink}' 56.243+index = '\{ 56.244+ "entries": [{join(entries%indexentry, ", ")}] 56.245+ }' 56.246+indexentry = '\{ 56.247+ "name": {name|utf8|json}, 56.248+ "description": {description|utf8|json}, 56.249+ "contact": {contact|utf8|json}, 56.250+ "lastchange": {lastchange|json}, 56.251+ "labels": {labels|json} 56.252+ }' 56.253+error = '\{ 56.254+ "error": {error|utf8|json} 56.255+ }'
57.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 57.2+++ b/templates/map-cmdline.bisect Sat Jul 20 22:31:54 2024 -0400 57.3@@ -0,0 +1,15 @@ 57.4+%include map-cmdline.default 57.5+ 57.6+[templates] 57.7+changeset = '{cset}{lbisect}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{summary}\n' 57.8+changeset_quiet = '{lshortbisect} {rev}:{node|short}\n' 57.9+changeset_verbose = '{cset}{lbisect}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{lfiles}{lfile_copies_switch}{description}\n' 57.10+changeset_debug = '{fullcset}{lbisect}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{luser}{ldate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n' 57.11+ 57.12+# We take the zeroth word in order to omit "(implicit)" in the label 57.13+bisectlabel = ' bisect.{word('0', bisect)}' 57.14+ 57.15+lbisect ='{label("log.bisect{if(bisect, bisectlabel)}", 57.16+ "bisect: {bisect}\n")}' 57.17+lshortbisect ='{label("log.bisect{if(bisect, bisectlabel)}", 57.18+ "{bisect|shortbisect}")}'
58.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 58.2+++ b/templates/map-cmdline.changelog Sat Jul 20 22:31:54 2024 -0400 58.3@@ -0,0 +1,18 @@ 58.4+[templates] 58.5+header = '{date|shortdate} {author|person} <{author|email}>\n\n' 58.6+header_verbose = '' 58.7+changeset = '\t* {files|stringify|fill68|tabindent}{desc|fill68|tabindent|strip}\n\t[{node|short}]{tags}{branches}\n\n' 58.8+changeset_quiet = '\t* {desc|firstline|fill68|tabindent|strip}\n\n' 58.9+changeset_verbose = '{date|isodate} {author|person} <{author|email}> ({node|short}{tags}{branches})\n\n\t* {file_adds|stringify|fill68|tabindent}{file_dels|stringify|fill68|tabindent}{files|stringify|fill68|tabindent}{desc|fill68|tabindent|strip}\n\n' 58.10+start_tags = ' [' 58.11+tag = '{tag}, ' 58.12+last_tag = '{tag}]' 58.13+start_branches = ' <' 58.14+branch = '{branch}, ' 58.15+last_branch = '{branch}>' 58.16+file = '{file}, ' 58.17+last_file = '{file}:\n\t' 58.18+file_add = '{file_add}, ' 58.19+last_file_add = '{file_add}: new file.\n* ' 58.20+file_del = '{file_del}, ' 58.21+last_file_del = '{file_del}: deleted file.\n* '
59.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 59.2+++ b/templates/map-cmdline.compact Sat Jul 20 22:31:54 2024 -0400 59.3@@ -0,0 +1,31 @@ 59.4+[templates] 59.5+ldate = '{label("log.date", 59.6+ "{date|isodate}")}' 59.7+ 59.8+ldesc = '{label('ui.note log.description', 59.9+ '{desc|strip}')}' 59.10+ldescfirst = '{label('ui.note log.description', 59.11+ '{desc|firstline|strip}')}' 59.12+ 59.13+changeset = '{lrev}{tags}{bookmarks}{parents} {lnode} {ldate} {luser}\n {ldescfirst}\n\n' 59.14+changeset_quiet = '{lrev}:{lnode}\n' 59.15+changeset_verbose = '{lrev}{tags}{parents} {lnode} {ldate} {lauthor}\n {ldesc}\n\n' 59.16+lrev = '{label("log.changeset changeset.{phase}", 59.17+ "{rev}")}' 59.18+lnode = '{label("log.node", 59.19+ "{node|short}")}' 59.20+lauthor = '{label("log.user", 59.21+ "{author}")}' 59.22+luser = '{label("log.user", 59.23+ "{author|user}")}' 59.24+start_tags = '[' 59.25+tag = '{label("log.tag", 59.26+ "{tag},")}' 59.27+last_tag = '{tag}]' 59.28+start_parents = ':' 59.29+parent = '{lrev},' 59.30+last_parent = '{lrev}' 59.31+start_bookmarks = '[' 59.32+bookmark = '{label("log.bookmark", 59.33+ "{bookmark},")}' 59.34+last_bookmark = '{bookmark}]'
60.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 60.2+++ b/templates/map-cmdline.default Sat Jul 20 22:31:54 2024 -0400 60.3@@ -0,0 +1,91 @@ 60.4+# Base templates. Due to name clashes with existing keywords, we have 60.5+# to replace some keywords with 'lkeyword', for 'labelled keyword' 60.6+ 60.7+[templates] 60.8+changeset = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{ltroubles}{lobsfate}{summary}\n' 60.9+changeset_quiet = '{lnode}' 60.10+changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{ltroubles}{lobsfate}{lfiles}{lfile_copies_switch}{description}\n' 60.11+changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{luser}{ldate}{ltroubles}{lobsfate}{lfile_mods}{lfile_adds}{lfile_dels}{lfile_copies_switch}{extras}{description}\n' 60.12+ 60.13+# File templates 60.14+lfiles = '{if(files, 60.15+ label("ui.note log.files", 60.16+ "files: {files}\n"))}' 60.17+ 60.18+lfile_mods = '{if(file_mods, 60.19+ label("ui.debug log.files", 60.20+ "files: {file_mods}\n"))}' 60.21+ 60.22+lfile_adds = '{if(file_adds, 60.23+ label("ui.debug log.files", 60.24+ "files+: {file_adds}\n"))}' 60.25+ 60.26+lfile_dels = '{if(file_dels, 60.27+ label("ui.debug log.files", 60.28+ "files-: {file_dels}\n"))}' 60.29+ 60.30+lfile_copies_switch = '{if(file_copies_switch, 60.31+ label("ui.note log.copies", 60.32+ "copies: {file_copies_switch 60.33+ % ' {name} ({source})'}\n"))}' 60.34+ 60.35+# General templates 60.36+cset = '{labelcset("changeset: {rev}:{node|short}")}\n' 60.37+fullcset = '{labelcset("changeset: {rev}:{node}")}\n' 60.38+ 60.39+lphase = '{label("log.phase", 60.40+ "phase: {phase}")}\n' 60.41+ 60.42+parent = '{label("log.parent changeset.{phase}", 60.43+ "parent: {rev}:{node|formatnode}")}\n' 60.44+ 60.45+lnode = '{label("log.node", 60.46+ "{rev}:{node|short}")}\n' 60.47+ 60.48+manifest = '{label("ui.debug log.manifest", 60.49+ "manifest: {rev}:{node}")}\n' 60.50+ 60.51+branch = '{label("log.branch", 60.52+ "branch: {branch}")}\n' 60.53+ 60.54+tag = '{label("log.tag", 60.55+ "tag: {tag}")}\n' 60.56+ 60.57+bookmark = '{label("log.bookmark", 60.58+ "bookmark: {bookmark}")}\n' 60.59+ 60.60+luser = '{label("log.user", 60.61+ "user: {author}")}\n' 60.62+ 60.63+summary = '{if(desc|strip, "{label('log.summary', 60.64+ 'summary: {desc|firstline}')}\n")}' 60.65+ 60.66+ldate = '{label("log.date", 60.67+ "date: {date|date}")}\n' 60.68+ 60.69+ltroubles = '{if(instabilities, "{label('log.instability', 60.70+ 'instability: {join(instabilities, ", ")}')}\n")}' 60.71+ 60.72+extra = '{label("ui.debug log.extra", 60.73+ "extra: {key}={value|stringescape}")}\n' 60.74+ 60.75+description = '{if(desc|strip, "{label('ui.note log.description', 60.76+ 'description:')} 60.77+ {label('ui.note log.description', 60.78+ '{desc|strip}')}\n\n")}' 60.79+ 60.80+status = '{status} {path|relpath}\n{if(source, " {source|relpath}\n")}' 60.81+ 60.82+# Obsfate templates, it would be removed once we introduce the obsfate 60.83+# template fragment 60.84+lobsfate = '{if(obsfate, "{label('log.obsfate', '{obsfate % "obsolete: {fate}\n"}')}")}' 60.85+ 60.86+[templatealias] 60.87+labelcset(expr) = label(separate(" ", 60.88+ "log.changeset", 60.89+ "changeset.{phase}", 60.90+ if(obsolete, "changeset.obsolete"), 60.91+ if(instabilities, "changeset.unstable"), 60.92+ join(instabilities 60.93+ % "instability.{instability}", " ")), 60.94+ expr)
61.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 61.2+++ b/templates/map-cmdline.phases Sat Jul 20 22:31:54 2024 -0400 61.3@@ -0,0 +1,5 @@ 61.4+%include map-cmdline.default 61.5+ 61.6+[templates] 61.7+changeset = '{cset}{branches}{bookmarks}{tags}{lphase}{parents}{luser}{ldate}{summary}\n' 61.8+changeset_verbose = '{cset}{branches}{bookmarks}{tags}{lphase}{parents}{luser}{ldate}{lfiles}{lfile_copies_switch}{description}\n'
62.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 62.2+++ b/templates/map-cmdline.show Sat Jul 20 22:31:54 2024 -0400 62.3@@ -0,0 +1,25 @@ 62.4+# TODO there are a few deficiencies in this file: 62.5+# * The "namespace" of the labels needs to be worked out. We currently 62.6+# piggyback on existing values so color works. 62.7+ 62.8+%include map-cmdline.default 62.9+ 62.10+[templates] 62.11+showbookmarks = '{if(active, "*", " ")} {pad(bookmark, longestbookmarklen + 4)}{shortest(node, nodelen)}\n' 62.12+ 62.13+showwork = '{cset_shortnode}{namespaces % cset_namespace} {cset_shortdesc}' 62.14+showstack = '{showwork}' 62.15+ 62.16+cset_shortnode = '{labelcset(shortest(node, nodelen))}' 62.17+ 62.18+# Treat branch and tags specially so we don't display "default" or "tip" 62.19+cset_namespace = '{ifeq(namespace, "branches", names_branches, ifeq(namespace, "tags", names_tags, names_others))}' 62.20+names_branches = '{ifeq(branch, "default", "", " ({label('log.{colorname}', branch)})")}' 62.21+names_tags = '{if(filter_tags(names), 62.22+ " ({label('log.{colorname}', join(filter_tags(names), ' '))})")}' 62.23+names_others = '{if(names, " ({label('log.{colorname}', join(names, ' '))})")}' 62.24+ 62.25+cset_shortdesc = '{label("log.description", desc|firstline)}' 62.26+ 62.27+[templatealias] 62.28+filter_tags(names) = filter(names, ifeq(name, 'tip', '', name))
63.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 63.2+++ b/templates/map-cmdline.status Sat Jul 20 22:31:54 2024 -0400 63.3@@ -0,0 +1,21 @@ 63.4+%include map-cmdline.default 63.5+ 63.6+[templates] 63.7+# Override base templates 63.8+changeset = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{summary}{lfiles}\n' 63.9+changeset_verbose = '{cset}{branches}{bookmarks}{tags}{parents}{luser}{ldate}{description}{lfiles}\n' 63.10+changeset_debug = '{fullcset}{branches}{bookmarks}{tags}{lphase}{parents}{manifest}{luser}{ldate}{extras}{description}{lfiles}\n' 63.11+ 63.12+# Override the file templates 63.13+lfiles = '{if(files, 63.14+ label('ui.note log.files', 63.15+ 'files:\n'))}{lfile_mods}{lfile_adds}{lfile_dels}' 63.16+ 63.17+lfile_adds = '{file_adds % "{lfile_add}{lfile_src}"}' 63.18+lfile_mods = '{file_mods % "{lfile_mod}{lfile_src}"}' 63.19+lfile_add = '{label("status.added", "A {file}\n")}' 63.20+lfile_mod = '{label("status.modified", "M {file}\n")}' 63.21+lfile_src = '{ifcontains(file, file_copies_switch, 63.22+ label("status.copied", " {get(file_copies_switch, file)}\n"))}' 63.23+ 63.24+lfile_dels = '{file_dels % "{label('status.removed', 'R {file}\n')}"}'
64.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 64.2+++ b/templates/map-cmdline.xml Sat Jul 20 22:31:54 2024 -0400 64.3@@ -0,0 +1,21 @@ 64.4+[templates] 64.5+docheader = '<?xml version="1.0"?>\n<log>\n' 64.6+docfooter = '</log>\n' 64.7+ 64.8+changeset = '<logentry revision="{rev}" node="{node}">\n{branches}{bookmarks}{tags}{parents}<author email="{author|email|xmlescape}">{author|person|xmlescape}</author>\n<date>{date|rfc3339date}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n</logentry>\n' 64.9+changeset_verbose = '<logentry revision="{rev}" node="{node}">\n{branches}{bookmarks}{tags}{parents}<author email="{author|email|xmlescape}">{author|person|xmlescape}</author>\n<date>{date|rfc3339date}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{file_adds}{file_dels}{file_mods}</paths>\n{file_copies}</logentry>\n' 64.10+changeset_debug = '<logentry revision="{rev}" node="{node}">\n{branches}{bookmarks}{tags}{parents}<author email="{author|email|xmlescape}">{author|person|xmlescape}</author>\n<date>{date|rfc3339date}</date>\n<msg xml:space="preserve">{desc|xmlescape}</msg>\n<paths>\n{file_adds}{file_dels}{file_mods}</paths>\n{file_copies}{extras}</logentry>\n' 64.11+ 64.12+file_add = '<path action="A">{file_add|xmlescape}</path>\n' 64.13+file_mod = '<path action="M">{file_mod|xmlescape}</path>\n' 64.14+file_del = '<path action="R">{file_del|xmlescape}</path>\n' 64.15+ 64.16+start_file_copies = '<copies>\n' 64.17+file_copy = '<copy source="{source|xmlescape}">{name|xmlescape}</copy>\n' 64.18+end_file_copies = '</copies>\n' 64.19+ 64.20+parent = '<parent revision="{rev}" node="{node}" />\n' 64.21+branch = '<branch>{branch|xmlescape}</branch>\n' 64.22+tag = '<tag>{tag|xmlescape}</tag>\n' 64.23+bookmark = '<bookmark>{bookmark|xmlescape}</bookmark>\n' 64.24+extra = '<extra key="{key|xmlescape}">{value|xmlescape}</extra>\n'
66.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 66.2+++ b/templates/monoblue/bookmarks.tmpl Sat Jul 20 22:31:54 2024 -0400 66.3@@ -0,0 +1,32 @@ 66.4+{header} 66.5+ <title>{repo|escape}: Bookmarks</title> 66.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-bookmarks" title="Atom feed for {repo|escape}: bookmarks"/> 66.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-bookmarks" title="RSS feed for {repo|escape}: bookmarks"/> 66.8+</head> 66.9+ 66.10+<body> 66.11+<div id="container"> 66.12+ <div class="page-header"> 66.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / bookmarks</h1> 66.14+ 66.15+ {searchform} 66.16+ 66.17+ <ul class="page-nav"> 66.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 66.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 66.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 66.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 66.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 66.23+ <li class="current">bookmarks</li> 66.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 66.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 66.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 66.27+ </ul> 66.28+ </div> 66.29+ 66.30+ <h2 class="no-link no-border">bookmarks</h2> 66.31+ <table cellspacing="0"> 66.32+{entries%bookmarkentry} 66.33+ </table> 66.34+ 66.35+{footer}
67.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 67.2+++ b/templates/monoblue/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 67.3@@ -0,0 +1,32 @@ 67.4+{header} 67.5+ <title>{repo|escape}: Branches</title> 67.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-branches" title="Atom feed for {repo|escape}: branches"/> 67.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-branches" title="RSS feed for {repo|escape}: branches"/> 67.8+</head> 67.9+ 67.10+<body> 67.11+<div id="container"> 67.12+ <div class="page-header"> 67.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / branches</h1> 67.14+ 67.15+ {searchform} 67.16+ 67.17+ <ul class="page-nav"> 67.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 67.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 67.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 67.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 67.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 67.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 67.24+ <li class="current">branches</li> 67.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 67.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 67.27+ </ul> 67.28+ </div> 67.29+ 67.30+ <h2 class="no-link no-border">branches</h2> 67.31+ <table cellspacing="0"> 67.32+{entries%branchentry} 67.33+ </table> 67.34+ 67.35+{footer}
68.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 68.2+++ b/templates/monoblue/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 68.3@@ -0,0 +1,37 @@ 68.4+{header} 68.5+ <title>{repo|escape}: changelog</title> 68.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 68.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 68.8+</head> 68.9+ 68.10+<body> 68.11+<div id="container"> 68.12+ <div class="page-header"> 68.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / changelog</h1> 68.14+ 68.15+ {searchform} 68.16+ 68.17+ <ul class="page-nav"> 68.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 68.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 68.20+ <li class="current">changelog</li> 68.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 68.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 68.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 68.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 68.25+ <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li> 68.26+ {archives%archiveentry} 68.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 68.28+ </ul> 68.29+ </div> 68.30+ 68.31+ <h2 class="no-link no-border">changelog</h2> 68.32+ <div> 68.33+ {entries%changelogentry} 68.34+ </div> 68.35+ 68.36+ <div class="page-path"> 68.37+{changenav%nav} 68.38+ </div> 68.39+ 68.40+{footer}
69.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 69.2+++ b/templates/monoblue/changelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 69.3@@ -0,0 +1,11 @@ 69.4+<h3 class="changelog"> 69.5+ <a class="title" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 69.6+ {desc|strip|firstline|escape|nonempty} 69.7+ {alltags} 69.8+ </a> 69.9+</h3> 69.10+<ul class="changelog-entry"> 69.11+ <li class="age">{date|rfc822date}</li> 69.12+ <li>by <span class="name">{author|obfuscate}</span> <span class="revdate">[{date|rfc822date}] rev {rev}</span></li> 69.13+ <li class="description">{desc|strip|escape|websub|addbreaks|nonempty}</li> 69.14+</ul>
70.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 70.2+++ b/templates/monoblue/changeset.tmpl Sat Jul 20 22:31:54 2024 -0400 70.3@@ -0,0 +1,67 @@ 70.4+{header} 70.5+<title>{repo|escape}: changeset {rev}:{node|short}</title> 70.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 70.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 70.8+</head> 70.9+ 70.10+<body> 70.11+<div id="container"> 70.12+ <div class="page-header"> 70.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / changeset</h1> 70.14+ 70.15+ {searchform} 70.16+ 70.17+ <ul class="page-nav"> 70.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 70.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 70.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 70.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 70.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 70.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 70.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 70.25+ <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li> 70.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 70.27+ </ul> 70.28+ </div> 70.29+ 70.30+ <ul class="submenu"> 70.31+ <li class="current">changeset</li> 70.32+ <li><a href="{url|urlescape}raw-rev/{symrev}">raw</a></li> 70.33+ {archives%archiveentry} 70.34+ </ul> 70.35+ 70.36+ <h2 class="no-link no-border">changeset</h2> 70.37+ 70.38+ <h3 class="changeset"> 70.39+ <a href="{url|urlescape}raw-rev/{node|short}"> 70.40+ {desc|strip|escape|firstline|nonempty} 70.41+ {alltags} 70.42+ </a> 70.43+ </h3> 70.44+ <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> 70.45+ 70.46+ <dl class="overview"> 70.47+ <dt>author</dt> 70.48+ <dd>{author|obfuscate}</dd> 70.49+ <dt>date</dt> 70.50+ <dd class="date age">{date|rfc822date}</dd> 70.51+ {branch%changesetbranch} 70.52+ <dt>changeset {rev}</dt> 70.53+ <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd> 70.54+ {if(obsolete, succsandmarkers%obsfateentry)} 70.55+ {if(instabilities, whyunstable%whyunstableentry)} 70.56+ {ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)} 70.57+ {child%changesetchild} 70.58+ </dl> 70.59+ 70.60+ <p class="description">{desc|strip|escape|websub|addbreaks|nonempty}</p> 70.61+ 70.62+ <table> 70.63+ {files} 70.64+ </table> 70.65+ 70.66+ <div class="diff diffblocks"> 70.67+ {diff} 70.68+ </div> 70.69+ 70.70+{footer}
71.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 71.2+++ b/templates/monoblue/error.tmpl Sat Jul 20 22:31:54 2024 -0400 71.3@@ -0,0 +1,30 @@ 71.4+{header} 71.5+ <title>{repo|escape}: Error</title> 71.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 71.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 71.8+</head> 71.9+ 71.10+<body> 71.11+<div id="container"> 71.12+ <div class="page-header"> 71.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / not found: {repo|escape}</h1> 71.14+ 71.15+ {searchform} 71.16+ 71.17+ <ul class="page-nav"> 71.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 71.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 71.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 71.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 71.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 71.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 71.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 71.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 71.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 71.27+ </ul> 71.28+ </div> 71.29+ 71.30+ <h2 class="no-link no-border">An error occurred while processing your request</h2> 71.31+ <p class="normal">{error|escape}</p> 71.32+ 71.33+{footer}
72.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 72.2+++ b/templates/monoblue/fileannotate.tmpl Sat Jul 20 22:31:54 2024 -0400 72.3@@ -0,0 +1,61 @@ 72.4+{header} 72.5+<title>{repo|escape}: {file|escape}@{node|short} (annotated)</title> 72.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 72.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 72.8+</head> 72.9+ 72.10+<body> 72.11+<div id="container"> 72.12+ <div class="page-header"> 72.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / annotate</h1> 72.14+ 72.15+ {searchform} 72.16+ 72.17+ <ul class="page-nav"> 72.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 72.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 72.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 72.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 72.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 72.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 72.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 72.25+ <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li> 72.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 72.27+ </ul> 72.28+ </div> 72.29+ 72.30+ <ul class="submenu"> 72.31+ <li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 72.32+ <li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 72.33+ <li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li> 72.34+ <li class="current">annotate</li> 72.35+ <li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 72.36+ <li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 72.37+ <li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 72.38+ </ul> 72.39+ 72.40+ <h2 class="no-link no-border">{file|escape}@{node|short} (annotated)</h2> 72.41+ <h3 class="changeset">{file|escape}</h3> 72.42+ <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> 72.43+ 72.44+ <dl class="overview"> 72.45+ <dt>author</dt> 72.46+ <dd>{author|obfuscate}</dd> 72.47+ <dt>date</dt> 72.48+ <dd class="date age">{date|rfc822date}</dd> 72.49+ {branch%filerevbranch} 72.50+ <dt>changeset {rev}</dt> 72.51+ <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd> 72.52+ {parent%fileannotateparent} 72.53+ {child%fileannotatechild} 72.54+ <dt>permissions</dt> 72.55+ <dd>{permissions|permissions}</dd> 72.56+ </dl> 72.57+ 72.58+ <p class="description">{desc|strip|escape|websub|addbreaks|nonempty}</p> 72.59+ 72.60+ <table class="annotated"> 72.61+ {annotate%annotateline} 72.62+ </table> 72.63+ 72.64+{footer}
73.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 73.2+++ b/templates/monoblue/filecomparison.tmpl Sat Jul 20 22:31:54 2024 -0400 73.3@@ -0,0 +1,67 @@ 73.4+{header} 73.5+<title>{repo|escape}: comparison {file|escape}</title> 73.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 73.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 73.8+</head> 73.9+ 73.10+<body> 73.11+<div id="container"> 73.12+ <div class="page-header"> 73.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / file comparison</h1> 73.14+ 73.15+ {searchform} 73.16+ 73.17+ <ul class="page-nav"> 73.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 73.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 73.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 73.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 73.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 73.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 73.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 73.25+ <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li> 73.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 73.27+ </ul> 73.28+ </div> 73.29+ 73.30+ <ul class="submenu"> 73.31+ <li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 73.32+ <li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 73.33+ <li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li> 73.34+ <li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 73.35+ <li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 73.36+ <li class="current">comparison</li> 73.37+ <li><a href="{url|urlescape}raw-diff/{symrev}/{file|urlescape}">raw</a></li> 73.38+ </ul> 73.39+ 73.40+ <h2 class="no-link no-border">comparison: {file|escape}</h2> 73.41+ <h3 class="changeset">{file|escape}</h3> 73.42+ 73.43+ <dl class="overview"> 73.44+ {branch%filerevbranch} 73.45+ <dt>changeset {rev}</dt> 73.46+ <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd> 73.47+ {parent%filecompparent} 73.48+ {child%filecompchild} 73.49+ </dl> 73.50+ 73.51+ <div class="legend"> 73.52+ <span class="legendinfo equal">equal</span> 73.53+ <span class="legendinfo delete">deleted</span> 73.54+ <span class="legendinfo insert">inserted</span> 73.55+ <span class="legendinfo replace">replaced</span> 73.56+ </div> 73.57+ 73.58+ <div class="comparison"> 73.59+ <table class="bigtable"> 73.60+ <thead class="header"> 73.61+ <tr> 73.62+ <th>{leftrev}:{leftnode|short}</th> 73.63+ <th>{rightrev}:{rightnode|short}</th> 73.64+ </tr> 73.65+ </thead> 73.66+ {comparison} 73.67+ </table> 73.68+ </div> 73.69+ 73.70+{footer}
74.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 74.2+++ b/templates/monoblue/filediff.tmpl Sat Jul 20 22:31:54 2024 -0400 74.3@@ -0,0 +1,52 @@ 74.4+{header} 74.5+<title>{repo|escape}: diff {file|escape}</title> 74.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 74.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 74.8+</head> 74.9+ 74.10+<body> 74.11+<div id="container"> 74.12+ <div class="page-header"> 74.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / file diff</h1> 74.14+ 74.15+ {searchform} 74.16+ 74.17+ <ul class="page-nav"> 74.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 74.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 74.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 74.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 74.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 74.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 74.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 74.25+ <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li> 74.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 74.27+ </ul> 74.28+ </div> 74.29+ 74.30+ <ul class="submenu"> 74.31+ <li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 74.32+ <li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 74.33+ <li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li> 74.34+ <li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 74.35+ <li class="current">diff</li> 74.36+ <li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 74.37+ <li><a href="{url|urlescape}raw-diff/{symrev}/{file|urlescape}">raw</a></li> 74.38+ </ul> 74.39+ 74.40+ <h2 class="no-link no-border">diff: {file|escape}</h2> 74.41+ <h3 class="changeset">{file|escape}</h3> 74.42+ 74.43+ <dl class="overview"> 74.44+ {branch%filerevbranch} 74.45+ <dt>changeset {rev}</dt> 74.46+ <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd> 74.47+ {parent%filediffparent} 74.48+ {child%filediffchild} 74.49+ </dl> 74.50+ 74.51+ <div class="diff diffblocks"> 74.52+ {diff} 74.53+ </div> 74.54+ 74.55+{footer}
75.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 75.2+++ b/templates/monoblue/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 75.3@@ -0,0 +1,46 @@ 75.4+{header} 75.5+<title>{repo|escape}: File revisions</title> 75.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 75.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 75.8+</head> 75.9+ 75.10+<body> 75.11+<div id="container"> 75.12+ <div class="page-header"> 75.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / file revisions</h1> 75.14+ 75.15+ {searchform} 75.16+ 75.17+ <ul class="page-nav"> 75.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 75.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 75.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 75.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 75.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 75.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 75.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 75.25+ <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li> 75.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 75.27+ </ul> 75.28+ </div> 75.29+ 75.30+ <ul class="submenu"> 75.31+ <li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 75.32+ <li class="current">revisions</li> 75.33+ <li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 75.34+ <li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 75.35+ <li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 75.36+ <li><a href="{url|urlescape}rss-log/tip/{file|urlescape}">rss</a></li> 75.37+ </ul> 75.38+ 75.39+ <h2 class="no-link no-border">{file|urlescape}</h2> 75.40+ 75.41+ <table> 75.42+ {entries%filelogentry} 75.43+ </table> 75.44+ 75.45+ <div class="page-path"> 75.46+ {nav%filenav} 75.47+ </div> 75.48+ 75.49+{footer}
76.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 76.2+++ b/templates/monoblue/filerevision.tmpl Sat Jul 20 22:31:54 2024 -0400 76.3@@ -0,0 +1,61 @@ 76.4+{header} 76.5+<title>{repo|escape}: {file|escape}@{node|short}</title> 76.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 76.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 76.8+</head> 76.9+ 76.10+<body> 76.11+<div id="container"> 76.12+ <div class="page-header"> 76.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / file revision</h1> 76.14+ 76.15+ {searchform} 76.16+ 76.17+ <ul class="page-nav"> 76.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 76.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 76.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 76.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 76.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 76.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 76.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 76.25+ <li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></li> 76.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 76.27+ </ul> 76.28+ </div> 76.29+ 76.30+ <ul class="submenu"> 76.31+ <li class="current">file</li> 76.32+ <li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 76.33+ <li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a></li> 76.34+ <li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 76.35+ <li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 76.36+ <li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 76.37+ <li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 76.38+ </ul> 76.39+ 76.40+ <h2 class="no-link no-border">{file|escape}@{node|short}</h2> 76.41+ <h3 class="changeset">{file|escape}</h3> 76.42+ <p class="changeset-age"><span class="age">{date|rfc822date}</span></p> 76.43+ 76.44+ <dl class="overview"> 76.45+ <dt>author</dt> 76.46+ <dd>{author|obfuscate}</dd> 76.47+ <dt>date</dt> 76.48+ <dd class="date age">{date|rfc822date}</dd> 76.49+ {branch%filerevbranch} 76.50+ <dt>changeset {rev}</dt> 76.51+ <dd><a class="list" href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd> 76.52+ {parent%filerevparent} 76.53+ {child%filerevchild} 76.54+ <dt>permissions</dt> 76.55+ <dd>{permissions|permissions}</dd> 76.56+ </dl> 76.57+ 76.58+ <p class="description">{desc|strip|escape|websub|addbreaks|nonempty}</p> 76.59+ 76.60+ <div class="source"> 76.61+ <pre class="sourcelines stripes">{text%fileline}</pre> 76.62+ </div> 76.63+ 76.64+{footer}
77.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 77.2+++ b/templates/monoblue/footer.tmpl Sat Jul 20 22:31:54 2024 -0400 77.3@@ -0,0 +1,17 @@ 77.4+ <div class="page-footer"> 77.5+ <p>Mercurial Repository: {repo|escape}</p> 77.6+ <ul class="rss-logo"> 77.7+ <li><a href="{url|urlescape}rss-log">RSS</a></li> 77.8+ <li><a href="{url|urlescape}atom-log">Atom</a></li> 77.9+ </ul> 77.10+ {motd} 77.11+ </div> 77.12+ 77.13+ <div id="powered-by"> 77.14+ <p><a href="{logourl}" title="Mercurial"><img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial" /></a></p> 77.15+ </div> 77.16+ 77.17+</div> 77.18+ 77.19+</body> 77.20+</html>
78.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 78.2+++ b/templates/monoblue/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 78.3@@ -0,0 +1,65 @@ 78.4+{header} 78.5+ <title>{repo|escape}: graph</title> 78.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 78.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 78.8+</head> 78.9+ 78.10+<body> 78.11+<div id="container"> 78.12+ <div class="page-header"> 78.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / graph</h1> 78.14+ 78.15+ {searchform} 78.16+ 78.17+ <ul class="page-nav"> 78.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 78.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 78.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 78.21+ <li class="current">graph</li> 78.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 78.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 78.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 78.25+ <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li> 78.26+ {archives%archiveentry} 78.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 78.28+ </ul> 78.29+ </div> 78.30+ 78.31+ <h2 class="no-link no-border">graph</h2> 78.32+ 78.33+ <div id="noscript">The revision graph only works with JavaScript-enabled browsers.</div> 78.34+ <div id="wrapper"> 78.35+ <canvas id="graph"></canvas> 78.36+ <ul id="graphnodes">{nodes%graphentry}</ul> 78.37+ </div> 78.38+ 78.39+ <script{if(nonce, ' nonce="{nonce}"')}> 78.40+ document.getElementById('noscript').style.display = 'none'; 78.41+ 78.42+ var data = {jsdata|json}; 78.43+ var graph = new Graph(); 78.44+ graph.scale({bg_height}); 78.45+ graph.render(data); 78.46+ </script> 78.47+ 78.48+ <div class="page-path"> 78.49+ <a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a> 78.50+ <a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a> 78.51+ | {changenav%navgraph} 78.52+ </div> 78.53+ 78.54+ <script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 78.55+ ajaxScrollInit( 78.56+ '{url|urlescape}graph/%next%{graphvars%urlparameter}', 78.57+ '{nextentry%"{node}"}', <!-- NEXTHASH 78.58+ function (htmlText) \{ 78.59+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 78.60+ return m ? m[1] : null; 78.61+ }, 78.62+ '#wrapper', 78.63+ '<div class="%class%" style="text-align: center;">%text%</div>', 78.64+ 'graph' 78.65+ ); 78.66+ </script> 78.67+ 78.68+{footer}
79.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 79.2+++ b/templates/monoblue/graphentry.tmpl Sat Jul 20 22:31:54 2024 -0400 79.3@@ -0,0 +1,9 @@ 79.4+<li class="parity{parity}" data-node="{node|short}"> 79.5+ <div class="fg"> 79.6+ <span class="desc"> 79.7+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a> 79.8+ </span> 79.9+ {alltags} 79.10+ <div class="info"><span class="age">{date|rfc822date}</span>, by {author|person}</div> 79.11+ </div> 79.12+</li>
80.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 80.2+++ b/templates/monoblue/header.tmpl Sat Jul 20 22:31:54 2024 -0400 80.3@@ -0,0 +1,7 @@ 80.4+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 80.5+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> 80.6+<head> 80.7+ <link rel="icon" href="{staticurl|urlescape}hgicon.png" type="image/png" /> 80.8+ <meta name="robots" content="index, nofollow"/> 80.9+ <link rel="stylesheet" href="{staticurl|urlescape}style-monoblue.css" type="text/css" /> 80.10+ <script type="text/javascript" src="{staticurl|urlescape}mercurial.js"></script>
81.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 81.2+++ b/templates/monoblue/help.tmpl Sat Jul 20 22:31:54 2024 -0400 81.3@@ -0,0 +1,32 @@ 81.4+{header} 81.5+ <title>Help: {topic}</title> 81.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 81.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 81.8+</head> 81.9+ 81.10+<body> 81.11+<div id="container"> 81.12+ <div class="page-header"> 81.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / help</h1> 81.14+ 81.15+ {searchform} 81.16+ 81.17+ <ul class="page-nav"> 81.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 81.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 81.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 81.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 81.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 81.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 81.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 81.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 81.26+ <li class="current">help</li> 81.27+ </ul> 81.28+ </div> 81.29+ 81.30+ <h2 class="no-link no-border">help</h2> 81.31+ <div id="doc"> 81.32+ {rstdoc(doc, "html")} 81.33+ </div> 81.34+ 81.35+{footer}
82.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 82.2+++ b/templates/monoblue/helptopics.tmpl Sat Jul 20 22:31:54 2024 -0400 82.3@@ -0,0 +1,46 @@ 82.4+{header} 82.5+ <title>Help: {title}</title> 82.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 82.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 82.8+</head> 82.9+ 82.10+<body> 82.11+<div id="container"> 82.12+ <div class="page-header"> 82.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / help</h1> 82.14+ 82.15+ {searchform} 82.16+ 82.17+ <ul class="page-nav"> 82.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 82.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 82.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 82.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 82.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 82.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 82.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 82.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 82.26+ {if(subindex, 82.27+ '<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>', 82.28+ '<li class="current">help</li>' 82.29+ )} 82.30+ </ul> 82.31+ </div> 82.32+ 82.33+ <h2 class="no-link no-border">help</h2> 82.34+ <table cellspacing="0"> 82.35+ <tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr> 82.36+ {topics % helpentry} 82.37+ 82.38+ {if(earlycommands, ' 82.39+ <tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr> 82.40+ {earlycommands % helpentry} 82.41+ ')} 82.42+ 82.43+ {if(othercommands, ' 82.44+ <tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr> 82.45+ {othercommands % helpentry} 82.46+ ')} 82.47+ </table> 82.48+ 82.49+{footer}
83.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 83.2+++ b/templates/monoblue/index.tmpl Sat Jul 20 22:31:54 2024 -0400 83.3@@ -0,0 +1,34 @@ 83.4+{header} 83.5+ <title>Mercurial repositories index</title> 83.6+</head> 83.7+ 83.8+<body> 83.9+<div id="container"> 83.10+ <div class="page-header"> 83.11+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h1> 83.12+ <ul class="page-nav"> 83.13+ </ul> 83.14+ </div> 83.15+ 83.16+ <table cellspacing="0"> 83.17+ <tr> 83.18+ <td><a href="?sort={sort_name}">Name</a></td> 83.19+ <td><a href="?sort={sort_description}">Description</a></td> 83.20+ <td><a href="?sort={sort_contact}">Contact</a></td> 83.21+ <td><a href="?sort={sort_lastchange}">Last modified</a></td> 83.22+ <td> </td> 83.23+ <td> </td> 83.24+ </tr> 83.25+ {entries%indexentry} 83.26+ </table> 83.27+ <div class="page-footer"> 83.28+ {motd} 83.29+ </div> 83.30+ 83.31+ <div id="powered-by"> 83.32+ <p><a href="{logourl}" title="Mercurial"><img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a></p> 83.33+ </div> 83.34+ 83.35+</div> 83.36+</body> 83.37+</html>
84.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 84.2+++ b/templates/monoblue/manifest.tmpl Sat Jul 20 22:31:54 2024 -0400 84.3@@ -0,0 +1,41 @@ 84.4+{header} 84.5+<title>{repo|escape}: files</title> 84.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 84.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 84.8+</head> 84.9+ 84.10+<body> 84.11+<div id="container"> 84.12+ <div class="page-header"> 84.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / files</h1> 84.14+ 84.15+ {searchform} 84.16+ 84.17+ <ul class="page-nav"> 84.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 84.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 84.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 84.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 84.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 84.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 84.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 84.25+ <li class="current">files</li> 84.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 84.27+ </ul> 84.28+ </div> 84.29+ 84.30+ <ul class="submenu"> 84.31+ <li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 84.32+ {archives%archiveentry} 84.33+ </ul> 84.34+ 84.35+ <h2 class="no-link no-border">files</h2> 84.36+ <p class="files">{path|escape} {alltags}</p> 84.37+ 84.38+ <table> 84.39+ {ifeq(path, up, '', updirentry)} 84.40+ {dentries%direntry} 84.41+ {fentries%fileentry} 84.42+ </table> 84.43+ 84.44+{footer}
85.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 85.2+++ b/templates/monoblue/map Sat Jul 20 22:31:54 2024 -0400 85.3@@ -0,0 +1,318 @@ 85.4+default = 'summary' 85.5+mimetype = 'text/html; charset={encoding}' 85.6+header = header.tmpl 85.7+footer = footer.tmpl 85.8+search = search.tmpl 85.9+changelog = changelog.tmpl 85.10+summary = summary.tmpl 85.11+error = error.tmpl 85.12+notfound = notfound.tmpl 85.13+ 85.14+help = help.tmpl 85.15+helptopics = helptopics.tmpl 85.16+ 85.17+helpentry = ' 85.18+ <tr><td> 85.19+ <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}"> 85.20+ {if(basename, '{basename|escape}', '{topic|escape}')} 85.21+ </a> 85.22+ </td><td> 85.23+ {summary|escape} 85.24+ </td></tr>' 85.25+ 85.26+naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 85.27+navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 85.28+navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 85.29+filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' 85.30+filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 85.31+filenodelink = ' 85.32+ <tr class="parity{parity}"> 85.33+ <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td> 85.34+ <td></td> 85.35+ <td> 85.36+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 85.37+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> | 85.38+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 85.39+ <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 85.40+ <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 85.41+ </td> 85.42+ </tr>' 85.43+filenolink = ' 85.44+ <tr class="parity{parity}"> 85.45+ <td><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a></td> 85.46+ <td></td> 85.47+ <td> 85.48+ file | 85.49+ annotate | 85.50+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 85.51+ <a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">comparison</a> | 85.52+ <a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 85.53+ </td> 85.54+ </tr>' 85.55+ 85.56+nav = '{before%naventry} {after%naventry}' 85.57+navshort = '{before%navshortentry}{after%navshortentry}' 85.58+navgraph = '{before%navgraphentry}{after%navgraphentry}' 85.59+filenav = '{before%filenaventry}{after%filenaventry}' 85.60+ 85.61+fileellipses = '...' 85.62+changelogentry = changelogentry.tmpl 85.63+changeset = changeset.tmpl 85.64+manifest = manifest.tmpl 85.65+updirentry = ' 85.66+ <tr class="parity{upparity}"> 85.67+ <td>drwxr-xr-x</td> 85.68+ <td></td> 85.69+ <td></td> 85.70+ <td> 85.71+ <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a> 85.72+ </td> 85.73+ <td class="link"> </td> 85.74+ </tr>' 85.75+direntry = ' 85.76+ <tr class="parity{parity}"> 85.77+ <td>drwxr-xr-x</td> 85.78+ <td></td> 85.79+ <td></td> 85.80+ <td> 85.81+ <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}</a> 85.82+ <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}">{emptydirs|escape}</a> 85.83+ </td> 85.84+ <td><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a></td> 85.85+ </tr>' 85.86+fileentry = ' 85.87+ <tr class="parity{parity}"> 85.88+ <td>{permissions|permissions}</td> 85.89+ <td>{date|isodate}</td> 85.90+ <td>{size}</td> 85.91+ <td><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td> 85.92+ <td> 85.93+ <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 85.94+ <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> | 85.95+ <a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 85.96+ </td> 85.97+ </tr>' 85.98+filerevision = filerevision.tmpl 85.99+fileannotate = fileannotate.tmpl 85.100+filediff = filediff.tmpl 85.101+filecomparison = filecomparison.tmpl 85.102+filelog = filelog.tmpl 85.103+fileline = ' 85.104+ <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>' 85.105+annotateline = ' 85.106+ <tr id="{lineid}" class="parity{parity}{ifeq(node, originalnode, ' thisrev')}"> 85.107+ <td class="annotate linenr parity{blockparity}"> 85.108+ {if(blockhead, 85.109+ '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 85.110+ {rev} 85.111+ </a>')} 85.112+ <div class="annotate-info"> 85.113+ <div> 85.114+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 85.115+ {node|short}</a> 85.116+ {desc|escape|firstline} 85.117+ </div> 85.118+ <div><em>{author|obfuscate}</em></div> 85.119+ <div>parents: {parents%annotateparent}</div> 85.120+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> 85.121+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> 85.122+ </div> 85.123+ </td> 85.124+ <td class="lineno"> 85.125+ <a href="#{lineid}">{linenumber}</a> 85.126+ </td> 85.127+ <td class="source">{line|escape}</td> 85.128+ </tr>' 85.129+annotateparent = ' 85.130+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>' 85.131+difflineplus = ' 85.132+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineplus">{strip(line|escape, '\r\n')}</span>' 85.133+difflineminus = ' 85.134+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineminus">{strip(line|escape, '\r\n')}</span>' 85.135+difflineat = ' 85.136+ <a href="#{lineid}"></a><span id="{lineid}" class="difflineat">{strip(line|escape, '\r\n')}</span>' 85.137+diffline = ' 85.138+ <a href="#{lineid}"></a><span id="{lineid}">{strip(line|escape, '\r\n')}</span>' 85.139+ 85.140+comparisonblock =' 85.141+ <tbody class="block"> 85.142+ {lines} 85.143+ </tbody>' 85.144+comparisonline = ' 85.145+ <tr id="{lineid}"> 85.146+ <td class="source {type}"><a class="linenr" href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td> 85.147+ <td class="source {type}"><a class="linenr" href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td> 85.148+ </tr>' 85.149+ 85.150+changesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 85.151+changesetbranch = '<dt>branch</dt><dd>{name|escape}</dd>' 85.152+changesetparent = ' 85.153+ <dt>parent {rev}</dt> 85.154+ <dd>{changesetlink}</dd>' 85.155+changesetparentdiff = ' 85.156+ <dt>parent {rev}</dt> 85.157+ <dd>{changesetlink} {ifeq(node, basenode, '(current diff)', '({difffrom})')}</dd>' 85.158+difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' 85.159+filerevbranch = '<dt>branch</dt><dd>{name|escape}</dd>' 85.160+filerevparent = ' 85.161+ <dt>parent {rev}</dt> 85.162+ <dd> 85.163+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 85.164+ {rename%filerename}{node|short} 85.165+ </a> 85.166+ </dd>' 85.167+filerename = '{file|escape}@' 85.168+filelogrename = '| <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">base</a>' 85.169+fileannotateparent = ' 85.170+ <dt>parent {rev}</dt> 85.171+ <dd> 85.172+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 85.173+ {rename%filerename}{node|short} 85.174+ </a> 85.175+ </dd>' 85.176+changesetchild = ' 85.177+ <dt>child {rev}</dt> 85.178+ <dd><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></dd>' 85.179+filerevchild = ' 85.180+ <dt>child {rev}</dt> 85.181+ <dd> 85.182+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> 85.183+ </dd>' 85.184+fileannotatechild = ' 85.185+ <dt>child {rev}</dt> 85.186+ <dd> 85.187+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> 85.188+ </dd>' 85.189+tags = tags.tmpl 85.190+tagentry = ' 85.191+ <tr class="parity{parity}"> 85.192+ <td class="nowrap age">{date|rfc822date}</td> 85.193+ <td><a href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}">{tag|escape}</a></td> 85.194+ <td class="nowrap"> 85.195+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 85.196+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 85.197+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 85.198+ </td> 85.199+ </tr>' 85.200+bookmarks = bookmarks.tmpl 85.201+bookmarkentry = ' 85.202+ <tr class="parity{parity}"> 85.203+ <td class="nowrap age">{date|rfc822date}</td> 85.204+ <td><a href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}">{bookmark|escape}</a></td> 85.205+ <td class="nowrap"> 85.206+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 85.207+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 85.208+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 85.209+ </td> 85.210+ </tr>' 85.211+branches = branches.tmpl 85.212+branchentry = ' 85.213+ <tr class="parity{parity}"> 85.214+ <td class="nowrap age">{date|rfc822date}</td> 85.215+ <td class="{status}"><a href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}">{branch|escape}</a></td> 85.216+ <td class="nowrap"> 85.217+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 85.218+ <a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">changelog</a> | 85.219+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 85.220+ </td> 85.221+ </tr>' 85.222+diffblock = '<div class="diffblock"><pre class="sourcelines">{lines}</pre></div>' 85.223+filediffparent = ' 85.224+ <dt>parent {rev}</dt> 85.225+ <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>' 85.226+filecompparent = ' 85.227+ <dt>parent {rev}</dt> 85.228+ <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>' 85.229+filediffchild = ' 85.230+ <dt>child {rev}</dt> 85.231+ <dd><a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>' 85.232+filecompchild = ' 85.233+ <dt>child {rev}</dt> 85.234+ <dd><a href="{url|urlescape}comparison/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></dd>' 85.235+shortlog = shortlog.tmpl 85.236+phasetag = '{ifeq(phase, 'public', '', '<span class="phasetag" title="{phase|escape}">{phase|escape}</span> ')}' 85.237+obsoletetag = '{if(obsolete, '<span class="obsoletetag" title="obsolete">obsolete</span> ')}' 85.238+instabilitytag = '<span class="instabilitytag" title="{instability|escape}">{instability|escape}</span> ' 85.239+tagtag = '<span class="tagtag" title="{name|escape}">{name|escape}</span> ' 85.240+branchtag = '<span class="branchtag" title="{name|escape}">{name|escape}</span> ' 85.241+inbranchtag = '<span class="inbranchtag" title="{name|escape}">{name|escape}</span> ' 85.242+bookmarktag = '<span class="bookmarktag" title="{name|escape}">{name|escape}</span> ' 85.243+alltags = '<span class="logtags">{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%inbranchtag}{branches%branchtag}{tags%tagtag}{bookmarks%bookmarktag}</span>' 85.244+successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' 85.245+obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' 85.246+obsfateverb = '{obsfateverb(successors, markers)}' 85.247+obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' 85.248+obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' 85.249+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>')}')}' 85.250+obsfateentry = ' 85.251+ <dt>obsolete</dt> 85.252+ <dd>{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}</dd>' 85.253+instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 85.254+divergentnode = '{instabilitychangesetlink} ({phase})' 85.255+whyunstableentry = ' 85.256+ <dt>unstable</dt> 85.257+ <dd>{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}</dd>' 85.258+shortlogentry = ' 85.259+ <tr class="parity{parity}"> 85.260+ <td class="nowrap age">{date|rfc822date}</td> 85.261+ <td>{author|person}</td> 85.262+ <td> 85.263+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 85.264+ {desc|strip|firstline|escape|nonempty} 85.265+ {alltags} 85.266+ </a> 85.267+ </td> 85.268+ <td class="nowrap"> 85.269+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> | 85.270+ <a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a> 85.271+ </td> 85.272+ </tr>' 85.273+filelogentry = ' 85.274+ <tr class="parity{parity}"> 85.275+ <td class="nowrap age">{date|rfc822date}</td> 85.276+ <td>{author|person}</td> 85.277+ <td> 85.278+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 85.279+ {desc|strip|firstline|escape|nonempty} 85.280+ {alltags} 85.281+ </a> 85.282+ </td> 85.283+ <td class="nowrap"> 85.284+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">file</a> | 85.285+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> | 85.286+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 85.287+ {rename%filelogrename} 85.288+ </td> 85.289+ </tr>' 85.290+archiveentry = '<li><a href="{url|urlescape}archive/{symrev}{extension}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a></li>' 85.291+indexentry = ' 85.292+ <tr class="parity{parity}"> 85.293+ <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td> 85.294+ <td>{description}</td> 85.295+ <td>{contact|obfuscate}</td> 85.296+ <td class="age">{lastchange|rfc822date}</td> 85.297+ <td class="indexlinks">{archives%indexarchiveentry}</td> 85.298+ <td> 85.299+ {if(isdirectory, '', 85.300+ '<div class="rss_logo"> 85.301+ <a href="{url|urlescape}rss-log">RSS</a> <a href="{url|urlescape}atom-log">Atom</a> 85.302+ </div>' 85.303+ )} 85.304+ </td> 85.305+ </tr>\n' 85.306+indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension}">{type|escape}</a> ' 85.307+index = index.tmpl 85.308+urlparameter = '{separator}{name}={value|urlescape}' 85.309+hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' 85.310+graph = graph.tmpl 85.311+graphentry = graphentry.tmpl 85.312+breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> ' 85.313+ 85.314+searchform = ' 85.315+ <form action="{url|urlescape}log"> 85.316+ {sessionvars%hiddenformentry} 85.317+ <dl class="search"> 85.318+ <dt><label>Search: </label></dt> 85.319+ <dd><input type="text" name="rev" value="{query|escape}" /></dd> 85.320+ </dl> 85.321+ </form>'
86.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 86.2+++ b/templates/monoblue/notfound.tmpl Sat Jul 20 22:31:54 2024 -0400 86.3@@ -0,0 +1,32 @@ 86.4+{header} 86.5+ <title>Mercurial repository not found</title> 86.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 86.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 86.8+</head> 86.9+ 86.10+<body> 86.11+<div id="container"> 86.12+ <div class="page-header"> 86.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / not found: {repo|escape}</h1> 86.14+ 86.15+ {searchform} 86.16+ 86.17+ <ul class="page-nav"> 86.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 86.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 86.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 86.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 86.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 86.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 86.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 86.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 86.26+ {archives%archiveentry} 86.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 86.28+ </ul> 86.29+ </div> 86.30+ 86.31+ <h2 class="no-link no-border">Not Found</h2> 86.32+ <p class="normal">The specified repository "{repo|escape}" is unknown, sorry.</p> 86.33+ <p class="normal">Please go back to the <a href="{url|urlescape}">main repository list page</a>.</p> 86.34+ 86.35+{footer}
87.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 87.2+++ b/templates/monoblue/search.tmpl Sat Jul 20 22:31:54 2024 -0400 87.3@@ -0,0 +1,31 @@ 87.4+{header} 87.5+ <title>{repo|escape}: Search</title> 87.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 87.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 87.8+</head> 87.9+ 87.10+<body> 87.11+<div id="container"> 87.12+ <div class="page-header"> 87.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / search</h1> 87.14+ 87.15+ {searchform} 87.16+ 87.17+ <ul class="page-nav"> 87.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 87.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 87.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 87.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 87.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 87.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 87.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 87.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 87.26+ {archives%archiveentry} 87.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 87.28+ </ul> 87.29+ </div> 87.30+ 87.31+ <h2 class="no-link no-border">searching for {query|escape}</h2> 87.32+ {entries%changelogentry} 87.33+ 87.34+{footer}
88.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 88.2+++ b/templates/monoblue/shortlog.tmpl Sat Jul 20 22:31:54 2024 -0400 88.3@@ -0,0 +1,53 @@ 88.4+{header} 88.5+ <title>{repo|escape}: shortlog</title> 88.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 88.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 88.8+</head> 88.9+ 88.10+<body> 88.11+<div id="container"> 88.12+ <div class="page-header"> 88.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / shortlog</h1> 88.14+ 88.15+ {searchform} 88.16+ 88.17+ <ul class="page-nav"> 88.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 88.19+ <li class="current">shortlog</li> 88.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 88.21+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 88.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 88.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 88.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 88.25+ <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a></li> 88.26+ {archives%archiveentry} 88.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 88.28+ </ul> 88.29+ </div> 88.30+ 88.31+ <h2 class="no-link no-border">shortlog</h2> 88.32+ 88.33+ <table class="shortlogtable"> 88.34+{entries%shortlogentry} 88.35+ </table> 88.36+ 88.37+ <div class="page-path"> 88.38+ {changenav%navshort} 88.39+ </div> 88.40+ 88.41+ <script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 88.42+ ajaxScrollInit( 88.43+ '{url|urlescape}shortlog/%next%{sessionvars%urlparameter}', 88.44+ '{nextentry%"{node}"}', <!-- NEXTHASH 88.45+ function (htmlText) \{ 88.46+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 88.47+ return m ? m[1] : null; 88.48+ }, 88.49+ '.shortlogtable > tbody:nth-of-type(1)', 88.50+ '<tr class="%class%">\ 88.51+ <td colspan="4" style="text-align: center;">%text%</td>\ 88.52+ </tr>' 88.53+ ); 88.54+ </script> 88.55+ 88.56+{footer}
89.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 89.2+++ b/templates/monoblue/summary.tmpl Sat Jul 20 22:31:54 2024 -0400 89.3@@ -0,0 +1,71 @@ 89.4+{header} 89.5+ <title>{repo|escape}: Summary</title> 89.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"/> 89.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"/> 89.8+</head> 89.9+ 89.10+<body> 89.11+<div id="container"> 89.12+ <div class="page-header"> 89.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / summary</h1> 89.14+ 89.15+ {searchform} 89.16+ 89.17+ <ul class="page-nav"> 89.18+ <li class="current">summary</li> 89.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 89.20+ <li><a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a></li> 89.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 89.22+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 89.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 89.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 89.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 89.26+ {archives%archiveentry} 89.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 89.28+ </ul> 89.29+ </div> 89.30+ 89.31+ <h2 class="no-link no-border">Mercurial Repository Overview</h2> 89.32+ <dl class="overview"> 89.33+ <dt>name</dt> 89.34+ <dd>{repo|escape}</dd> 89.35+ <dt>description</dt> 89.36+ <dd>{desc}</dd> 89.37+ <dt>owner</dt> 89.38+ <dd>{owner|obfuscate}</dd> 89.39+ <dt>last change</dt> 89.40+ <dd class="date age">{lastchange|rfc822date}</dd> 89.41+ </dl> 89.42+ 89.43+ <h2><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">Changes</a></h2> 89.44+ <table> 89.45+{shortlog%shortlogentry} 89.46+ <tr class="light"> 89.47+ <td colspan="4"><a class="list" href="{url|urlescape}shortlog{sessionvars%urlparameter}">...</a></td> 89.48+ </tr> 89.49+ </table> 89.50+ 89.51+ <h2><a href="{url|urlescape}tags{sessionvars%urlparameter}">Tags</a></h2> 89.52+ <table> 89.53+{tags%tagentry} 89.54+ <tr class="light"> 89.55+ <td colspan="3"><a class="list" href="{url|urlescape}tags{sessionvars%urlparameter}">...</a></td> 89.56+ </tr> 89.57+ </table> 89.58+ 89.59+ <h2><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">Bookmarks</a></h2> 89.60+ <table> 89.61+ {bookmarks%bookmarkentry} 89.62+ <tr class="light"> 89.63+ <td colspan="3"><a class="list" href="{url|urlescape}bookmarks{sessionvars%urlparameter}">...</a></td> 89.64+ </tr> 89.65+ </table> 89.66+ 89.67+ <h2><a href="{url|urlescape}branches{sessionvars%urlparameter}">Branches</a></h2> 89.68+ <table> 89.69+ {branches%branchentry} 89.70+ <tr class="light"> 89.71+ <td colspan="3"><a class="list" href="{url|urlescape}branches{sessionvars%urlparameter}">...</a></td> 89.72+ </tr> 89.73+ </table> 89.74+{footer}
90.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 90.2+++ b/templates/monoblue/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 90.3@@ -0,0 +1,32 @@ 90.4+{header} 90.5+ <title>{repo|escape}: Tags</title> 90.6+ <link rel="alternate" type="application/atom+xml" href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"/> 90.7+ <link rel="alternate" type="application/rss+xml" href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"/> 90.8+</head> 90.9+ 90.10+<body> 90.11+<div id="container"> 90.12+ <div class="page-header"> 90.13+ <h1 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb} / tags</h1> 90.14+ 90.15+ {searchform} 90.16+ 90.17+ <ul class="page-nav"> 90.18+ <li><a href="{url|urlescape}summary{sessionvars%urlparameter}">summary</a></li> 90.19+ <li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a></li> 90.20+ <li><a href="{url|urlescape}changelog{sessionvars%urlparameter}">changelog</a></li> 90.21+ <li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 90.22+ <li class="current">tags</li> 90.23+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 90.24+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 90.25+ <li><a href="{url|urlescape}file{sessionvars%urlparameter}">files</a></li> 90.26+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 90.27+ </ul> 90.28+ </div> 90.29+ 90.30+ <h2 class="no-link no-border">tags</h2> 90.31+ <table cellspacing="0"> 90.32+{entries%tagentry} 90.33+ </table> 90.34+ 90.35+{footer}
92.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 92.2+++ b/templates/paper/bookmarks.tmpl Sat Jul 20 22:31:54 2024 -0400 92.3@@ -0,0 +1,53 @@ 92.4+{header} 92.5+<title>{repo|escape}: bookmarks</title> 92.6+<link rel="alternate" type="application/atom+xml" 92.7+ href="{url|urlescape}atom-bookmarks" title="Atom feed for {repo|escape}: bookmarks" /> 92.8+<link rel="alternate" type="application/rss+xml" 92.9+ href="{url|urlescape}rss-bookmarks" title="RSS feed for {repo|escape}: bookmarks" /> 92.10+</head> 92.11+<body> 92.12+ 92.13+<div class="container"> 92.14+<div class="menu"> 92.15+<div class="logo"> 92.16+<a href="{logourl}"> 92.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 92.18+</div> 92.19+<ul> 92.20+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 92.21+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 92.22+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 92.23+<li class="active">bookmarks</li> 92.24+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 92.25+</ul> 92.26+<ul> 92.27+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 92.28+</ul> 92.29+<div class="atom-logo"> 92.30+<a href="{url|urlescape}atom-bookmarks" title="subscribe to atom feed"> 92.31+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 92.32+</a> 92.33+</div> 92.34+</div> 92.35+ 92.36+<div class="main"> 92.37+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 92.38+<h3>bookmarks</h3> 92.39+ 92.40+{searchform} 92.41+ 92.42+<table class="bigtable"> 92.43+<thead> 92.44+<tr> 92.45+ <th>bookmark</th> 92.46+ <th>node</th> 92.47+</tr> 92.48+</thead> 92.49+<tbody class="stripes2"> 92.50+{entries%bookmarkentry} 92.51+</tbody> 92.52+</table> 92.53+</div> 92.54+</div> 92.55+ 92.56+{footer}
93.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 93.2+++ b/templates/paper/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 93.3@@ -0,0 +1,53 @@ 93.4+{header} 93.5+<title>{repo|escape}: branches</title> 93.6+<link rel="alternate" type="application/atom+xml" 93.7+ href="{url|urlescape}atom-branches" title="Atom feed for {repo|escape}: branches" /> 93.8+<link rel="alternate" type="application/rss+xml" 93.9+ href="{url|urlescape}rss-branches" title="RSS feed for {repo|escape}: branches" /> 93.10+</head> 93.11+<body> 93.12+ 93.13+<div class="container"> 93.14+<div class="menu"> 93.15+<div class="logo"> 93.16+<a href="{logourl}"> 93.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 93.18+</div> 93.19+<ul> 93.20+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 93.21+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 93.22+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 93.23+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 93.24+<li class="active">branches</li> 93.25+</ul> 93.26+<ul> 93.27+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 93.28+</ul> 93.29+<div class="atom-logo"> 93.30+<a href="{url|urlescape}atom-branches" title="subscribe to atom feed"> 93.31+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 93.32+</a> 93.33+</div> 93.34+</div> 93.35+ 93.36+<div class="main"> 93.37+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 93.38+<h3>branches</h3> 93.39+ 93.40+{searchform} 93.41+ 93.42+<table class="bigtable"> 93.43+<thead> 93.44+<tr> 93.45+ <th>branch</th> 93.46+ <th>node</th> 93.47+</tr> 93.48+</thead> 93.49+<tbody class="stripes2"> 93.50+{entries % branchentry} 93.51+</tbody> 93.52+</table> 93.53+</div> 93.54+</div> 93.55+ 93.56+{footer}
94.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 94.2+++ b/templates/paper/changeset.tmpl Sat Jul 20 22:31:54 2024 -0400 94.3@@ -0,0 +1,95 @@ 94.4+{header} 94.5+<title>{repo|escape}: {node|short}</title> 94.6+</head> 94.7+<body> 94.8+<div class="container"> 94.9+<div class="menu"> 94.10+<div class="logo"> 94.11+<a href="{logourl}"> 94.12+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 94.13+</div> 94.14+<ul> 94.15+ <li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 94.16+ <li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 94.17+ <li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 94.18+ <li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 94.19+ <li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 94.20+</ul> 94.21+<ul> 94.22+ <li class="active">changeset</li> 94.23+ <li><a href="{url|urlescape}raw-rev/{symrev}{sessionvars%urlparameter}">raw</a></li> 94.24+ <li><a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">browse</a></li> 94.25+</ul> 94.26+<ul> 94.27+ {archives%archiveentry} 94.28+</ul> 94.29+<ul> 94.30+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 94.31+</ul> 94.32+</div> 94.33+ 94.34+<div class="main"> 94.35+ 94.36+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 94.37+<h3> 94.38+ changeset {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 94.39+ {alltags} 94.40+</h3> 94.41+ 94.42+{searchform} 94.43+ 94.44+<div class="description">{desc|strip|escape|websub|nonempty}</div> 94.45+ 94.46+<table id="changesetEntry"> 94.47+<tr> 94.48+ <th class="author">author</th> 94.49+ <td class="author">{author|obfuscate}</td> 94.50+</tr> 94.51+<tr> 94.52+ <th class="date">date</th> 94.53+ <td class="date age">{date|rfc822date}</td> 94.54+</tr> 94.55+{if(obsolete, '<tr> 94.56+ <th>obsolete</th> 94.57+ <td>{join(succsandmarkers%obsfateentry, '<br>\n')}</td> 94.58+</tr>')} 94.59+{if(instabilities, '<tr> 94.60+ <th>unstable</th> 94.61+ <td>{join(whyunstable%whyunstableentry, '<br>\n')}</td> 94.62+</tr>')} 94.63+<tr> 94.64+ <th class="author">parents</th> 94.65+ <td class="author">{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)}</td> 94.66+</tr> 94.67+<tr> 94.68+ <th class="author">children</th> 94.69+ <td class="author">{child%changesetchild}</td> 94.70+</tr> 94.71+<tr> 94.72+ <th class="files">files</th> 94.73+ <td class="files">{files}</td> 94.74+</tr> 94.75+<tr> 94.76+ <th class="diffstat">diffstat</th> 94.77+ <td class="diffstat"> 94.78+ {diffsummary} 94.79+ <a id="diffstatexpand" class="diffstattoggle" href="#">[<tt>+</tt>]</a> 94.80+ <div id="diffstatdetails" style="display:none;"> 94.81+ <a class="diffstattoggle" href="#">[<tt>-</tt>]</a> 94.82+ <table class="diffstat-table stripes2">{diffstat}</table> 94.83+ </div> 94.84+ </td> 94.85+</tr> 94.86+</table> 94.87+ 94.88+<div class="overflow"> 94.89+<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="#">on</a></div> 94.90+<div class="sourcefirst"> line diff</div> 94.91+<div class="stripes2 diffblocks"> 94.92+{diff} 94.93+</div> 94.94+</div> 94.95+ 94.96+</div> 94.97+</div> 94.98+{footer}
95.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 95.2+++ b/templates/paper/diffstat.tmpl Sat Jul 20 22:31:54 2024 -0400 95.3@@ -0,0 +1,8 @@ 95.4+ <tr> 95.5+ <td class="diffstat-file"><a href="#l{fileno}.1">{file|escape}</a></td> 95.6+ <td class="diffstat-total" align="right">{total}</td> 95.7+ <td class="diffstat-graph"> 95.8+ <span class="diffstat-add" style="width:{addpct}%;"> </span> 95.9+ <span class="diffstat-remove" style="width:{removepct}%;"> </span> 95.10+ </td> 95.11+ </tr>
96.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 96.2+++ b/templates/paper/error.tmpl Sat Jul 20 22:31:54 2024 -0400 96.3@@ -0,0 +1,42 @@ 96.4+{header} 96.5+<title>{repo|escape}: error</title> 96.6+</head> 96.7+<body> 96.8+ 96.9+<div class="container"> 96.10+<div class="menu"> 96.11+<div class="logo"> 96.12+<a href="{logourl}"> 96.13+<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial" /></a> 96.14+</div> 96.15+<ul> 96.16+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 96.17+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 96.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 96.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 96.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 96.21+</ul> 96.22+<ul> 96.23+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 96.24+</ul> 96.25+</div> 96.26+ 96.27+<div class="main"> 96.28+ 96.29+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 96.30+<h3>error</h3> 96.31+ 96.32+{searchform} 96.33+ 96.34+<div class="description"> 96.35+<p> 96.36+An error occurred while processing your request: 96.37+</p> 96.38+<p> 96.39+{error|escape} 96.40+</p> 96.41+</div> 96.42+</div> 96.43+</div> 96.44+ 96.45+{footer}
97.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 97.2+++ b/templates/paper/fileannotate.tmpl Sat Jul 20 22:31:54 2024 -0400 97.3@@ -0,0 +1,95 @@ 97.4+{header} 97.5+<title>{repo|escape}: {file|escape} annotate</title> 97.6+</head> 97.7+<body> 97.8+ 97.9+<div class="container"> 97.10+<div class="menu"> 97.11+<div class="logo"> 97.12+<a href="{logourl}"> 97.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 97.14+</div> 97.15+<ul> 97.16+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 97.17+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 97.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 97.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 97.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 97.21+</ul> 97.22+ 97.23+<ul> 97.24+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 97.25+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 97.26+</ul> 97.27+<ul> 97.28+<li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 97.29+<li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 97.30+<li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 97.31+<li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 97.32+<li class="active">annotate</li> 97.33+<li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li> 97.34+<li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 97.35+</ul> 97.36+<ul> 97.37+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 97.38+</ul> 97.39+</div> 97.40+ 97.41+<div class="main"> 97.42+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 97.43+<h3> 97.44+ annotate {file|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 97.45+ {alltags} 97.46+</h3> 97.47+ 97.48+{searchform} 97.49+ 97.50+<div class="description">{desc|strip|escape|websub|nonempty}</div> 97.51+ 97.52+<table id="changesetEntry"> 97.53+<tr> 97.54+ <th class="author">author</th> 97.55+ <td class="author">{author|obfuscate}</td> 97.56+</tr> 97.57+<tr> 97.58+ <th class="date">date</th> 97.59+ <td class="date age">{date|rfc822date}</td> 97.60+</tr> 97.61+<tr> 97.62+ <th class="author">parents</th> 97.63+ <td class="author">{parent%filerevparent}</td> 97.64+</tr> 97.65+<tr> 97.66+ <th class="author">children</th> 97.67+ <td class="author">{child%filerevchild}</td> 97.68+</tr> 97.69+</table> 97.70+ 97.71+{diffoptsform} 97.72+ 97.73+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 97.74+ renderDiffOptsForm(); 97.75+</script> 97.76+ 97.77+<div class="overflow"> 97.78+<table class="bigtable"> 97.79+<thead> 97.80+<tr> 97.81+ <th class="annotate">rev</th> 97.82+ <th class="line"> line source</th> 97.83+</tr> 97.84+</thead> 97.85+<tbody class="stripes2 sourcelines" 97.86+ data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" 97.87+ data-selectabletag="TR" 97.88+ data-ishead="{ishead}"> 97.89+ {annotate%annotateline} 97.90+</tbody> 97.91+</table> 97.92+</div> 97.93+</div> 97.94+</div> 97.95+ 97.96+<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script> 97.97+ 97.98+{footer}
98.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 98.2+++ b/templates/paper/filecomparison.tmpl Sat Jul 20 22:31:54 2024 -0400 98.3@@ -0,0 +1,90 @@ 98.4+{header} 98.5+<title>{repo|escape}: {file|escape} comparison</title> 98.6+</head> 98.7+<body> 98.8+ 98.9+<div class="container"> 98.10+<div class="menu"> 98.11+<div class="logo"> 98.12+<a href="{logourl}"> 98.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 98.14+</div> 98.15+<ul> 98.16+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 98.17+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 98.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 98.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 98.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 98.21+</ul> 98.22+<ul> 98.23+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 98.24+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 98.25+</ul> 98.26+<ul> 98.27+<li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 98.28+<li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 98.29+<li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 98.30+<li class="active">comparison</li> 98.31+<li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 98.32+<li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li> 98.33+<li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 98.34+</ul> 98.35+<ul> 98.36+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 98.37+</ul> 98.38+</div> 98.39+ 98.40+<div class="main"> 98.41+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 98.42+<h3> 98.43+ comparison {file|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 98.44+ {alltags} 98.45+</h3> 98.46+ 98.47+{searchform} 98.48+ 98.49+<div class="description">{desc|strip|escape|websub|nonempty}</div> 98.50+ 98.51+<table id="changesetEntry"> 98.52+<tr> 98.53+ <th>author</th> 98.54+ <td>{author|obfuscate}</td> 98.55+</tr> 98.56+<tr> 98.57+ <th>date</th> 98.58+ <td class="date age">{date|rfc822date}</td> 98.59+</tr> 98.60+<tr> 98.61+ <th>parents</th> 98.62+ <td>{parent%filerevparent}</td> 98.63+</tr> 98.64+<tr> 98.65+ <th>children</th> 98.66+ <td>{child%filerevchild}</td> 98.67+</tr> 98.68+</table> 98.69+ 98.70+<div class="overflow"> 98.71+<div class="sourcefirst"> comparison</div> 98.72+<div class="legend"> 98.73+ <span class="legendinfo equal">equal</span> 98.74+ <span class="legendinfo delete">deleted</span> 98.75+ <span class="legendinfo insert">inserted</span> 98.76+ <span class="legendinfo replace">replaced</span> 98.77+</div> 98.78+ 98.79+<table class="bigtable"> 98.80+ <thead class="header"> 98.81+ <tr> 98.82+ <th>{leftrev}:{leftnode|short}</th> 98.83+ <th>{rightrev}:{rightnode|short}</th> 98.84+ </tr> 98.85+ </thead> 98.86+ {comparison} 98.87+</table> 98.88+ 98.89+</div> 98.90+</div> 98.91+</div> 98.92+ 98.93+{footer}
99.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 99.2+++ b/templates/paper/filediff.tmpl Sat Jul 20 22:31:54 2024 -0400 99.3@@ -0,0 +1,77 @@ 99.4+{header} 99.5+<title>{repo|escape}: {file|escape} diff</title> 99.6+</head> 99.7+<body> 99.8+ 99.9+<div class="container"> 99.10+<div class="menu"> 99.11+<div class="logo"> 99.12+<a href="{logourl}"> 99.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 99.14+</div> 99.15+<ul> 99.16+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 99.17+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 99.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 99.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 99.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 99.21+</ul> 99.22+<ul> 99.23+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 99.24+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 99.25+</ul> 99.26+<ul> 99.27+<li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 99.28+<li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 99.29+<li class="active">diff</li> 99.30+<li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 99.31+<li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 99.32+<li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li> 99.33+<li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 99.34+</ul> 99.35+<ul> 99.36+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 99.37+</ul> 99.38+</div> 99.39+ 99.40+<div class="main"> 99.41+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 99.42+<h3> 99.43+ diff {file|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 99.44+ {alltags} 99.45+</h3> 99.46+ 99.47+{searchform} 99.48+ 99.49+<div class="description">{desc|strip|escape|websub|nonempty}</div> 99.50+ 99.51+<table id="changesetEntry"> 99.52+<tr> 99.53+ <th>author</th> 99.54+ <td>{author|obfuscate}</td> 99.55+</tr> 99.56+<tr> 99.57+ <th>date</th> 99.58+ <td class="date age">{date|rfc822date}</td> 99.59+</tr> 99.60+<tr> 99.61+ <th>parents</th> 99.62+ <td>{parent%filerevparent}</td> 99.63+</tr> 99.64+<tr> 99.65+ <th>children</th> 99.66+ <td>{child%filerevchild}</td> 99.67+</tr> 99.68+</table> 99.69+ 99.70+<div class="overflow"> 99.71+<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="#">on</a></div> 99.72+<div class="sourcefirst"> line diff</div> 99.73+<div class="stripes2 diffblocks"> 99.74+{diff} 99.75+</div> 99.76+</div> 99.77+</div> 99.78+</div> 99.79+ 99.80+{footer}
100.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 100.2+++ b/templates/paper/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 100.3@@ -0,0 +1,83 @@ 100.4+{header} 100.5+<title>{repo|escape}: {file|escape} history</title> 100.6+<link rel="alternate" type="application/atom+xml" 100.7+ href="{url|urlescape}atom-log/tip/{file|urlescape}" title="Atom feed for {repo|escape}:{file}" /> 100.8+<link rel="alternate" type="application/rss+xml" 100.9+ href="{url|urlescape}rss-log/tip/{file|urlescape}" title="RSS feed for {repo|escape}:{file}" /> 100.10+</head> 100.11+<body> 100.12+ 100.13+<div class="container"> 100.14+<div class="menu"> 100.15+<div class="logo"> 100.16+<a href="{logourl}"> 100.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 100.18+</div> 100.19+<ul> 100.20+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 100.21+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 100.22+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 100.23+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 100.24+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 100.25+</ul> 100.26+<ul> 100.27+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 100.28+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 100.29+</ul> 100.30+<ul> 100.31+<li><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a></li> 100.32+<li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 100.33+<li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 100.34+<li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 100.35+<li class="active">file log</li> 100.36+<li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 100.37+</ul> 100.38+<ul> 100.39+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 100.40+</ul> 100.41+<div class="atom-logo"> 100.42+<a href="{url|urlescape}atom-log/tip/{file|urlescape}" title="subscribe to atom feed"> 100.43+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 100.44+</a> 100.45+</div> 100.46+</div> 100.47+ 100.48+<div class="main"> 100.49+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 100.50+<h3> 100.51+ log {file|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 100.52+ {alltags} 100.53+ {if(linerange, 100.54+' (following lines {linerange}{if(descend, ', descending')} <a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">all revisions for this file</a>)')} 100.55+</h3> 100.56+ 100.57+{searchform} 100.58+ 100.59+<div class="navigate"> 100.60+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{lessvars%urlparameter}">less</a> 100.61+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{morevars%urlparameter}">more</a> 100.62+| {nav%filenav}</div> 100.63+ 100.64+<table class="bigtable"> 100.65+<thead> 100.66+ <tr> 100.67+ <th class="age">age</th> 100.68+ <th class="author">author</th> 100.69+ <th class="description">description</th> 100.70+ </tr> 100.71+</thead> 100.72+<tbody class="stripes2"> 100.73+{entries%filelogentry} 100.74+</tbody> 100.75+</table> 100.76+ 100.77+<div class="navigate"> 100.78+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{lessvars%urlparameter}">less</a> 100.79+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{morevars%urlparameter}">more</a> 100.80+| {nav%filenav} 100.81+</div> 100.82+ 100.83+</div> 100.84+</div> 100.85+ 100.86+{footer}
101.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 101.2+++ b/templates/paper/filelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 101.3@@ -0,0 +1,9 @@ 101.4+ <tr> 101.5+ <td class="age">{date|rfc822date}</td> 101.6+ <td class="author">{author|person}</td> 101.7+ <td class="description"> 101.8+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a> 101.9+ {alltags}{rename%filelogrename} 101.10+ </td> 101.11+ </tr> 101.12+ {if(patch, '<tr><td colspan="3">{diff}</td></tr>')}
102.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 102.2+++ b/templates/paper/filerevision.tmpl Sat Jul 20 22:31:54 2024 -0400 102.3@@ -0,0 +1,83 @@ 102.4+{header} 102.5+<title>{repo|escape}: {node|short} {file|escape}</title> 102.6+</head> 102.7+<body> 102.8+ 102.9+<div class="container"> 102.10+<div class="menu"> 102.11+<div class="logo"> 102.12+<a href="{logourl}"> 102.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 102.14+</div> 102.15+<ul> 102.16+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 102.17+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 102.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 102.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 102.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 102.21+</ul> 102.22+<ul> 102.23+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 102.24+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 102.25+</ul> 102.26+<ul> 102.27+<li class="active">file</li> 102.28+<li><a href="{url|urlescape}file/tip/{file|urlescape}{sessionvars%urlparameter}">latest</a></li> 102.29+<li><a href="{url|urlescape}diff/{symrev}/{file|urlescape}{sessionvars%urlparameter}">diff</a></li> 102.30+<li><a href="{url|urlescape}comparison/{symrev}/{file|urlescape}{sessionvars%urlparameter}">comparison</a></li> 102.31+<li><a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a></li> 102.32+<li><a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file log</a></li> 102.33+<li><a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a></li> 102.34+</ul> 102.35+<ul> 102.36+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 102.37+</ul> 102.38+</div> 102.39+ 102.40+<div class="main"> 102.41+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 102.42+<h3> 102.43+ view {file|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 102.44+ {alltags} 102.45+</h3> 102.46+ 102.47+{searchform} 102.48+ 102.49+<div class="description">{desc|strip|escape|websub|nonempty}</div> 102.50+ 102.51+<table id="changesetEntry"> 102.52+<tr> 102.53+ <th class="author">author</th> 102.54+ <td class="author">{author|obfuscate}</td> 102.55+</tr> 102.56+<tr> 102.57+ <th class="date">date</th> 102.58+ <td class="date age">{date|rfc822date}</td> 102.59+</tr> 102.60+<tr> 102.61+ <th class="author">parents</th> 102.62+ <td class="author">{parent%filerevparent}</td> 102.63+</tr> 102.64+<tr> 102.65+ <th class="author">children</th> 102.66+ <td class="author">{child%filerevchild}</td> 102.67+</tr> 102.68+</table> 102.69+ 102.70+<div class="overflow"> 102.71+<div class="sourcefirst linewraptoggle">line wrap: <a class="linewraplink" href="#">on</a></div> 102.72+<div class="sourcefirst"> line source</div> 102.73+<pre class="sourcelines stripes4 wrap bottomline" 102.74+ data-logurl="{url|urlescape}log/{symrev}/{file|urlescape}" 102.75+ data-selectabletag="SPAN" 102.76+ data-ishead="{ishead}"> 102.77+{text%fileline} 102.78+</pre> 102.79+</div> 102.80+ 102.81+<script type="text/javascript" src="{staticurl|urlescape}followlines.js"></script> 102.82+ 102.83+</div> 102.84+</div> 102.85+ 102.86+{footer}
103.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 103.2+++ b/templates/paper/footer.tmpl Sat Jul 20 22:31:54 2024 -0400 103.3@@ -0,0 +1,4 @@ 103.4+{motd} 103.5+ 103.6+</body> 103.7+</html>
104.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 104.2+++ b/templates/paper/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 104.3@@ -0,0 +1,89 @@ 104.4+{header} 104.5+<title>{repo|escape}: revision graph</title> 104.6+<link rel="alternate" type="application/atom+xml" 104.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}: log" /> 104.8+<link rel="alternate" type="application/rss+xml" 104.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}: log" /> 104.10+</head> 104.11+<body> 104.12+ 104.13+<div class="container"> 104.14+<div class="menu"> 104.15+<div class="logo"> 104.16+<a href="{logourl}"> 104.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 104.18+</div> 104.19+<ul> 104.20+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 104.21+<li class="active">graph</li> 104.22+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 104.23+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 104.24+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 104.25+</ul> 104.26+<ul> 104.27+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 104.28+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 104.29+</ul> 104.30+<ul> 104.31+{archives%archiveentry} 104.32+</ul> 104.33+<ul> 104.34+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 104.35+</ul> 104.36+<div class="atom-logo"> 104.37+<a href="{url|urlescape}atom-log" title="subscribe to atom feed"> 104.38+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 104.39+</a> 104.40+</div> 104.41+</div> 104.42+ 104.43+<div class="main"> 104.44+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 104.45+<h3>graph</h3> 104.46+ 104.47+{searchform} 104.48+ 104.49+<div class="navigate"> 104.50+<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a> 104.51+<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a> 104.52+| rev {rev}: {changenav%navgraph} 104.53+</div> 104.54+ 104.55+<noscript><p>The revision graph only works with JavaScript-enabled browsers.</p></noscript> 104.56+ 104.57+<div id="wrapper"> 104.58+<canvas id="graph"></canvas> 104.59+<ul id="graphnodes" class="stripes2">{nodes%graphentry}</ul> 104.60+</div> 104.61+ 104.62+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 104.63+var data = {jsdata|json}; 104.64+var graph = new Graph(); 104.65+graph.scale({bg_height}); 104.66+graph.render(data); 104.67+</script> 104.68+ 104.69+<div class="navigate"> 104.70+<a href="{url|urlescape}graph/{symrev}{lessvars%urlparameter}">less</a> 104.71+<a href="{url|urlescape}graph/{symrev}{morevars%urlparameter}">more</a> 104.72+| rev {rev}: {changenav%navgraph} 104.73+</div> 104.74+ 104.75+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 104.76+ ajaxScrollInit( 104.77+ '{url|urlescape}graph/%next%{graphvars%urlparameter}', 104.78+ '{nextentry%"{node}"}', <!-- NEXTHASH 104.79+ function (htmlText) \{ 104.80+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 104.81+ return m ? m[1] : null; 104.82+ }, 104.83+ '#wrapper', 104.84+ '<div class="%class%" style="text-align: center;">%text%</div>', 104.85+ 'graph' 104.86+ ); 104.87+</script> 104.88+ 104.89+</div> 104.90+</div> 104.91+ 104.92+{footer}
105.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 105.2+++ b/templates/paper/graphentry.tmpl Sat Jul 20 22:31:54 2024 -0400 105.3@@ -0,0 +1,9 @@ 105.4+<li data-node="{node|short}"> 105.5+ <div class="fg"> 105.6+ <span class="desc"> 105.7+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a> 105.8+ </span> 105.9+ {alltags} 105.10+ <div class="info"><span class="age">{date|rfc822date}</span>, by {author|person}</div> 105.11+ </div> 105.12+</li>
106.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 106.2+++ b/templates/paper/header.tmpl Sat Jul 20 22:31:54 2024 -0400 106.3@@ -0,0 +1,7 @@ 106.4+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> 106.5+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"> 106.6+<head> 106.7+<link rel="icon" href="{staticurl|urlescape}hgicon.png" type="image/png" /> 106.8+<meta name="robots" content="index, nofollow" /> 106.9+<link rel="stylesheet" href="{staticurl|urlescape}style-paper.css" type="text/css" /> 106.10+<script type="text/javascript" src="{staticurl|urlescape}mercurial.js"></script>
107.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 107.2+++ b/templates/paper/help.tmpl Sat Jul 20 22:31:54 2024 -0400 107.3@@ -0,0 +1,34 @@ 107.4+{header} 107.5+<title>Help: {topic}</title> 107.6+</head> 107.7+<body> 107.8+ 107.9+<div class="container"> 107.10+<div class="menu"> 107.11+<div class="logo"> 107.12+<a href="{logourl}"> 107.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 107.14+</div> 107.15+<ul> 107.16+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 107.17+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 107.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 107.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 107.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 107.21+</ul> 107.22+<ul> 107.23+ <li class="active"><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 107.24+</ul> 107.25+</div> 107.26+ 107.27+<div class="main"> 107.28+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 107.29+<h3>Help: {topic}</h3> 107.30+{searchform} 107.31+<div id="doc"> 107.32+{rstdoc(doc, "html")} 107.33+</div> 107.34+</div> 107.35+</div> 107.36+ 107.37+{footer}
108.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 108.2+++ b/templates/paper/helptopics.tmpl Sat Jul 20 22:31:54 2024 -0400 108.3@@ -0,0 +1,48 @@ 108.4+{header} 108.5+<title>Help: {title}</title> 108.6+</head> 108.7+<body> 108.8+ 108.9+<div class="container"> 108.10+<div class="menu"> 108.11+<div class="logo"> 108.12+<a href="{logourl}"> 108.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 108.14+</div> 108.15+<ul> 108.16+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 108.17+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 108.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 108.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 108.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 108.21+</ul> 108.22+<ul> 108.23+{if(subindex, 108.24+ '<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li>', 108.25+ '<li class="active">help</li>' 108.26+)} 108.27+</ul> 108.28+</div> 108.29+ 108.30+<div class="main"> 108.31+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 108.32+{searchform} 108.33+<table class="bigtable"> 108.34+<tr><td colspan="2"><h2><a name="topics" href="#topics">Topics</a></h2></td></tr> 108.35+{topics % helpentry} 108.36+ 108.37+{if(earlycommands, ' 108.38+<tr><td colspan="2"><h2><a name="main" href="#main">Main Commands</a></h2></td></tr> 108.39+{earlycommands % helpentry} 108.40+')} 108.41+ 108.42+{if(othercommands, ' 108.43+<tr><td colspan="2"><h2><a name="other" href="#other">Other Commands</a></h2></td></tr> 108.44+{othercommands % helpentry} 108.45+')} 108.46+ 108.47+</table> 108.48+</div> 108.49+</div> 108.50+ 108.51+{footer}
109.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 109.2+++ b/templates/paper/index.tmpl Sat Jul 20 22:31:54 2024 -0400 109.3@@ -0,0 +1,31 @@ 109.4+{header} 109.5+<title>Mercurial repositories index</title> 109.6+</head> 109.7+<body> 109.8+ 109.9+<div class="container"> 109.10+<div class="menu"> 109.11+<a href="{logourl}"> 109.12+<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial" /></a> 109.13+</div> 109.14+<div class="main"> 109.15+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 109.16+ 109.17+<table class="bigtable"> 109.18+ <thead> 109.19+ <tr> 109.20+ <th><a href="?sort={sort_name}">Name</a></th> 109.21+ <th><a href="?sort={sort_description}">Description</a></th> 109.22+ <th><a href="?sort={sort_contact}">Contact</a></th> 109.23+ <th><a href="?sort={sort_lastchange}">Last modified</a></th> 109.24+ <th> </th> 109.25+ <th> </th> 109.26+ </tr> 109.27+ </thead> 109.28+ <tbody class="stripes2"> 109.29+ {entries%indexentry} 109.30+ </tbody> 109.31+</table> 109.32+</div> 109.33+</div> 109.34+{footer}
110.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 110.2+++ b/templates/paper/manifest.tmpl Sat Jul 20 22:31:54 2024 -0400 110.3@@ -0,0 +1,56 @@ 110.4+{header} 110.5+<title>{repo|escape}: {node|short} {path|escape}</title> 110.6+</head> 110.7+<body> 110.8+ 110.9+<div class="container"> 110.10+<div class="menu"> 110.11+<div class="logo"> 110.12+<a href="{logourl}"> 110.13+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 110.14+</div> 110.15+<ul> 110.16+<li><a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">log</a></li> 110.17+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 110.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 110.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 110.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 110.21+</ul> 110.22+<ul> 110.23+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 110.24+<li class="active">browse</li> 110.25+</ul> 110.26+<ul> 110.27+{archives%archiveentry} 110.28+</ul> 110.29+<ul> 110.30+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 110.31+</ul> 110.32+</div> 110.33+ 110.34+<div class="main"> 110.35+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 110.36+<h3> 110.37+ directory {path|escape} @ {rev}:<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 110.38+ {alltags} 110.39+</h3> 110.40+ 110.41+{searchform} 110.42+ 110.43+<table class="bigtable"> 110.44+<thead> 110.45+<tr> 110.46+ <th class="name">name</th> 110.47+ <th class="size">size</th> 110.48+ <th class="permissions">permissions</th> 110.49+</tr> 110.50+</thead> 110.51+<tbody class="stripes2"> 110.52+{ifeq(path, up, '', updirentry)} 110.53+{dentries%direntry} 110.54+{fentries%fileentry} 110.55+</tbody> 110.56+</table> 110.57+</div> 110.58+</div> 110.59+{footer}
111.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 111.2+++ b/templates/paper/map Sat Jul 20 22:31:54 2024 -0400 111.3@@ -0,0 +1,292 @@ 111.4+default = 'shortlog' 111.5+ 111.6+mimetype = 'text/html; charset={encoding}' 111.7+header = header.tmpl 111.8+footer = footer.tmpl 111.9+search = search.tmpl 111.10+ 111.11+changelog = shortlog.tmpl 111.12+shortlog = shortlog.tmpl 111.13+shortlogentry = shortlogentry.tmpl 111.14+graph = graph.tmpl 111.15+graphentry = graphentry.tmpl 111.16+help = help.tmpl 111.17+helptopics = helptopics.tmpl 111.18+ 111.19+helpentry = ' 111.20+ <tr><td> 111.21+ <a href="{url|urlescape}help/{topic|escape}{sessionvars%urlparameter}"> 111.22+ {if(basename, '{basename|escape}', '{topic|escape}')} 111.23+ </a> 111.24+ </td><td> 111.25+ {summary|escape} 111.26+ </td></tr>' 111.27+ 111.28+naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 111.29+navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 111.30+navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 111.31+filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' 111.32+filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 111.33+filenodelink = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 111.34+filenolink = '{file|escape} ' 111.35+fileellipses = '...' 111.36+diffstatlink = diffstat.tmpl 111.37+diffstatnolink = diffstat.tmpl 111.38+changelogentry = shortlogentry.tmpl 111.39+changeset = changeset.tmpl 111.40+manifest = manifest.tmpl 111.41+ 111.42+nav = '{before%naventry} {after%naventry}' 111.43+navshort = '{before%navshortentry}{after%navshortentry}' 111.44+navgraph = '{before%navgraphentry}{after%navgraphentry}' 111.45+filenav = '{before%filenaventry}{after%filenaventry}' 111.46+ 111.47+updirentry = ' 111.48+ <tr class="fileline"> 111.49+ <td class="name"> 111.50+ <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a> 111.51+ </td> 111.52+ <td class="size"></td> 111.53+ <td class="permissions">drwxr-xr-x</td> 111.54+ </tr>' 111.55+ 111.56+direntry = ' 111.57+ <tr class="fileline"> 111.58+ <td class="name"> 111.59+ <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}"> 111.60+ <img src="{staticurl|urlescape}coal-folder.png" alt="dir."/> {basename|escape}/ 111.61+ </a> 111.62+ <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}"> 111.63+ {emptydirs|escape} 111.64+ </a> 111.65+ </td> 111.66+ <td class="size"></td> 111.67+ <td class="permissions">drwxr-xr-x</td> 111.68+ </tr>' 111.69+ 111.70+fileentry = ' 111.71+ <tr class="fileline"> 111.72+ <td class="filename"> 111.73+ <a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}"> 111.74+ <img src="{staticurl|urlescape}coal-file.png" alt="file"/> {basename|escape} 111.75+ </a> 111.76+ </td> 111.77+ <td class="size">{size}</td> 111.78+ <td class="permissions">{permissions|permissions}</td> 111.79+ </tr>' 111.80+ 111.81+filerevision = filerevision.tmpl 111.82+fileannotate = fileannotate.tmpl 111.83+filediff = filediff.tmpl 111.84+filecomparison = filecomparison.tmpl 111.85+filelog = filelog.tmpl 111.86+fileline = ' 111.87+ <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' 111.88+filelogentry = filelogentry.tmpl 111.89+ 111.90+annotateline = ' 111.91+ <tr id="{lineid}"{ifeq(node, originalnode, ' class="thisrev"')}> 111.92+ <td class="annotate parity{blockparity}"> 111.93+ {if(blockhead, 111.94+ '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 111.95+ {rev} 111.96+ </a>')} 111.97+ <div class="annotate-info"> 111.98+ <div> 111.99+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 111.100+ {node|short}</a> 111.101+ {desc|escape|firstline} 111.102+ </div> 111.103+ <div><em>{author|obfuscate}</em></div> 111.104+ <div>parents: {parents%annotateparent}</div> 111.105+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> 111.106+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> 111.107+ </div> 111.108+ </td> 111.109+ <td class="source followlines-btn-parent"><a href="#{lineid}">{linenumber}</a> {line|escape}</td> 111.110+ </tr>' 111.111+annotateparent = ' 111.112+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>' 111.113+diffblock = '<div class="bottomline inc-lineno"><pre class="sourcelines wrap">{lines}</pre></div>' 111.114+difflineplus = ' 111.115+ <span id="{lineid}" class="plusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' 111.116+difflineminus = ' 111.117+ <span id="{lineid}" class="minusline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' 111.118+difflineat = ' 111.119+ <span id="{lineid}" class="atline">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' 111.120+diffline = ' 111.121+ <span id="{lineid}">{strip(line|escape, '\r\n')}</span><a href="#{lineid}"></a>' 111.122+ 111.123+comparisonblock =' 111.124+ <tbody class="block"> 111.125+ {lines} 111.126+ </tbody>' 111.127+comparisonline = ' 111.128+ <tr id="{lineid}"> 111.129+ <td class="source {type}"><a href="#{lineid}">{leftlinenumber}</a> {leftline|escape}</td> 111.130+ <td class="source {type}"><a href="#{lineid}">{rightlinenumber}</a> {rightline|escape}</td> 111.131+ </tr>' 111.132+ 111.133+changesetparent = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' 111.134+ 111.135+changesetparentdiff = ' 111.136+ {changesetparent} 111.137+ {ifeq(node, basenode, '(current diff)', '({difffrom})')}' 111.138+ 111.139+difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' 111.140+ 111.141+filerevparent = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rename%filerename}{node|short}</a> ' 111.142+filerevchild = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> ' 111.143+ 111.144+filerename = '{file|escape}@' 111.145+filelogrename = ' 111.146+ <span class="base"> 111.147+ base 111.148+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 111.149+ {file|escape}@{node|short} 111.150+ </a> 111.151+ </span>' 111.152+fileannotateparent = ' 111.153+ <tr> 111.154+ <td class="metatag">parent:</td> 111.155+ <td> 111.156+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 111.157+ {rename%filerename}{node|short} 111.158+ </a> 111.159+ </td> 111.160+ </tr>' 111.161+changesetchild = ' <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 111.162+fileannotatechild = ' 111.163+ <tr> 111.164+ <td class="metatag">child:</td> 111.165+ <td> 111.166+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 111.167+ {node|short} 111.168+ </a> 111.169+ </td> 111.170+ </tr>' 111.171+tags = tags.tmpl 111.172+tagentry = ' 111.173+ <tr class="tagEntry"> 111.174+ <td> 111.175+ <a href="{url|urlescape}rev/{tag|revescape}{sessionvars%urlparameter}"> 111.176+ {tag|escape} 111.177+ </a> 111.178+ </td> 111.179+ <td class="node"> 111.180+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 111.181+ {node|short} 111.182+ </a> 111.183+ </td> 111.184+ </tr>' 111.185+bookmarks = bookmarks.tmpl 111.186+bookmarkentry = ' 111.187+ <tr class="tagEntry"> 111.188+ <td> 111.189+ <a href="{url|urlescape}rev/{bookmark|revescape}{sessionvars%urlparameter}"> 111.190+ {bookmark|escape} 111.191+ </a> 111.192+ </td> 111.193+ <td class="node"> 111.194+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}"> 111.195+ {node|short} 111.196+ </a> 111.197+ </td> 111.198+ </tr>' 111.199+branches = branches.tmpl 111.200+branchentry = ' 111.201+ <tr class="tagEntry"> 111.202+ <td> 111.203+ <a href="{url|urlescape}shortlog/{branch|revescape}{sessionvars%urlparameter}" class="{status}"> 111.204+ {branch|escape} 111.205+ </a> 111.206+ </td> 111.207+ <td class="node"> 111.208+ <a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}"> 111.209+ {node|short} 111.210+ </a> 111.211+ </td> 111.212+ </tr>' 111.213+phasetag = '{ifeq(phase, 'public', '', '<span class="phase">{phase|escape}</span> ')}' 111.214+obsoletetag = '{if(obsolete, '<span class="obsolete">obsolete</span> ')}' 111.215+instabilitytag = '<span class="instability">{instability|escape}</span> ' 111.216+changelogtag = '<span class="tag">{name|escape}</span> ' 111.217+changesettag = '<span class="tag">{tag|escape}</span> ' 111.218+changesetbookmark = '<span class="tag">{bookmark|escape}</span> ' 111.219+changelogbranchhead = '<span class="branchhead">{name|escape}</span> ' 111.220+changelogbranchname = '<span class="branchname">{name|escape}</span> ' 111.221+alltags = '{phasetag}{obsoletetag}{instabilities%instabilitytag}{inbranch%changelogbranchname}{branches%changelogbranchhead}{tags%changelogtag}{bookmarks%changelogtag}' 111.222+ 111.223+successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' 111.224+obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' 111.225+obsfateverb = '{obsfateverb(successors, markers)}' 111.226+obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' 111.227+obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' 111.228+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>')}')}' 111.229+obsfateentry = '{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}' 111.230+instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 111.231+divergentnode = '{instabilitychangesetlink} ({phase})' 111.232+whyunstableentry = '{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}' 111.233+ 111.234+filediffparent = ' 111.235+ <tr> 111.236+ <th class="parent">parent {rev}:</th> 111.237+ <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 111.238+ </tr>' 111.239+filediffchild = ' 111.240+ <tr> 111.241+ <th class="child">child {rev}:</th> 111.242+ <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> 111.243+ </td> 111.244+ </tr>' 111.245+ 111.246+indexentry = ' 111.247+ <tr> 111.248+ <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td> 111.249+ <td>{description}</td> 111.250+ <td>{contact|obfuscate}</td> 111.251+ <td class="age">{lastchange|rfc822date}</td> 111.252+ <td class="indexlinks">{archives%indexarchiveentry}</td> 111.253+ <td> 111.254+ {if(isdirectory, '', 111.255+ '<a href="{url|urlescape}atom-log" title="subscribe to repository atom feed"> 111.256+ <img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="subscribe to repository atom feed"> 111.257+ </a>' 111.258+ )} 111.259+ </td> 111.260+ </tr>\n' 111.261+indexarchiveentry = '<a href="{url|urlescape}archive/{node|short}{extension|urlescape}"> ↓{type|escape}</a>' 111.262+index = index.tmpl 111.263+archiveentry = ' 111.264+ <li> 111.265+ <a href="{url|urlescape}archive/{symrev}{extension|urlescape}{ifeq(path,'/','',path|urlescape)}">{type|escape}</a> 111.266+ </li>' 111.267+notfound = notfound.tmpl 111.268+error = error.tmpl 111.269+urlparameter = '{separator}{name}={value|urlescape}' 111.270+hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' 111.271+breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> ' 111.272+ 111.273+searchform = ' 111.274+ <form class="search" action="{url|urlescape}log"> 111.275+ {sessionvars%hiddenformentry} 111.276+ <p><input name="rev" id="search1" type="text" size="30" value="{query|escape}" /></p> 111.277+ <div id="hint">{searchhint}</div> 111.278+ </form>' 111.279+searchhint = 'Find changesets by keywords (author, files, the commit message), revision 111.280+ number or hash, or <a href="{url|urlescape}help/revsets">revset expression</a>.' 111.281+ 111.282+diffoptsform = ' 111.283+ <form id="diffopts-form" 111.284+ data-ignorews="{if(get(diffopts, 'ignorews'), '1', '0')}" 111.285+ data-ignorewsamount="{if(get(diffopts, 'ignorewsamount'), '1', '0')}" 111.286+ data-ignorewseol="{if(get(diffopts, 'ignorewseol'), '1', '0')}" 111.287+ data-ignoreblanklines="{if(get(diffopts, 'ignoreblanklines'), '1', '0')}"> 111.288+ <span>Ignore whitespace changes - </span> 111.289+ <span>Everywhere:</span> 111.290+ <input id="ignorews-checkbox" type="checkbox" /> 111.291+ <span>Within whitespace:</span> 111.292+ <input id="ignorewsamount-checkbox" type="checkbox" /> 111.293+ <span>At end of lines:</span> 111.294+ <input id="ignorewseol-checkbox" type="checkbox" /> 111.295+ </form>'
112.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 112.2+++ b/templates/paper/notfound.tmpl Sat Jul 20 22:31:54 2024 -0400 112.3@@ -0,0 +1,12 @@ 112.4+{header} 112.5+<title>Mercurial repository not found</title> 112.6+</head> 112.7+<body> 112.8+ 112.9+<h2>Mercurial repository not found</h2> 112.10+ 112.11+The specified repository "{repo|escape}" is unknown, sorry. 112.12+ 112.13+Please go back to the <a href="{url|urlescape}">main repository list page</a>. 112.14+ 112.15+{footer}
113.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 113.2+++ b/templates/paper/search.tmpl Sat Jul 20 22:31:54 2024 -0400 113.3@@ -0,0 +1,64 @@ 113.4+{header} 113.5+<title>{repo|escape}: searching for {query|escape}</title> 113.6+</head> 113.7+<body> 113.8+ 113.9+<div class="container"> 113.10+<div class="menu"> 113.11+<div class="logo"> 113.12+<a href="{logourl}"> 113.13+<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a> 113.14+</div> 113.15+<ul> 113.16+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 113.17+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 113.18+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 113.19+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 113.20+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 113.21+</ul> 113.22+<ul> 113.23+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 113.24+</ul> 113.25+</div> 113.26+ 113.27+<div class="main"> 113.28+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 113.29+<h3>searching for '{query|escape}'</h3> 113.30+ 113.31+<p> 113.32+Assuming {modedesc}. 113.33+{if(showforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}&forcekw=1"> 113.34+Use {showforcekw}</a> instead.')} 113.35+{if(showunforcekw, '<a href="{url|urlescape}log?rev={query|urlescape}"> 113.36+Use {showunforcekw}</a> instead.')} 113.37+</p> 113.38+ 113.39+{searchform} 113.40+ 113.41+<div class="navigate"> 113.42+<a href="{url|urlescape}log{lessvars%urlparameter}">less</a> 113.43+<a href="{url|urlescape}log{morevars%urlparameter}">more</a> 113.44+</div> 113.45+ 113.46+<table class="bigtable"> 113.47+<thead> 113.48+ <tr> 113.49+ <th class="age">age</th> 113.50+ <th class="author">author</th> 113.51+ <th class="description">description</th> 113.52+ </tr> 113.53+</thead> 113.54+<tbody class="stripes2"> 113.55+{entries%changelogentry} 113.56+</tbody> 113.57+</table> 113.58+ 113.59+<div class="navigate"> 113.60+<a href="{url|urlescape}log{lessvars%urlparameter}">less</a> 113.61+<a href="{url|urlescape}log{morevars%urlparameter}">more</a> 113.62+</div> 113.63+ 113.64+</div> 113.65+</div> 113.66+ 113.67+{footer}
114.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 114.2+++ b/templates/paper/shortlog.tmpl Sat Jul 20 22:31:54 2024 -0400 114.3@@ -0,0 +1,89 @@ 114.4+{header} 114.5+<title>{repo|escape}: log</title> 114.6+<link rel="alternate" type="application/atom+xml" 114.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}" /> 114.8+<link rel="alternate" type="application/rss+xml" 114.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}" /> 114.10+</head> 114.11+<body> 114.12+ 114.13+<div class="container"> 114.14+<div class="menu"> 114.15+<div class="logo"> 114.16+<a href="{logourl}"> 114.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 114.18+</div> 114.19+<ul> 114.20+<li class="active">log</li> 114.21+<li><a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a></li> 114.22+<li><a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a></li> 114.23+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 114.24+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 114.25+</ul> 114.26+<ul> 114.27+<li><a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a></li> 114.28+<li><a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">browse</a></li> 114.29+</ul> 114.30+<ul> 114.31+{archives%archiveentry} 114.32+</ul> 114.33+<ul> 114.34+ <li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 114.35+</ul> 114.36+<div class="atom-logo"> 114.37+<a href="{url|urlescape}atom-log" title="subscribe to atom feed"> 114.38+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 114.39+</a> 114.40+</div> 114.41+</div> 114.42+ 114.43+<div class="main"> 114.44+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 114.45+<h3>log</h3> 114.46+ 114.47+{searchform} 114.48+ 114.49+<div class="navigate"> 114.50+<a href="{url|urlescape}shortlog/{symrev}{lessvars%urlparameter}">less</a> 114.51+<a href="{url|urlescape}shortlog/{symrev}{morevars%urlparameter}">more</a> 114.52+| rev {rev}: {changenav%navshort} 114.53+</div> 114.54+ 114.55+<table class="bigtable"> 114.56+<thead> 114.57+ <tr> 114.58+ <th class="age">age</th> 114.59+ <th class="author">author</th> 114.60+ <th class="description">description</th> 114.61+ </tr> 114.62+</thead> 114.63+<tbody class="stripes2"> 114.64+{entries%shortlogentry} 114.65+</tbody> 114.66+</table> 114.67+ 114.68+<div class="navigate"> 114.69+<a href="{url|urlescape}shortlog/{symrev}{lessvars%urlparameter}">less</a> 114.70+<a href="{url|urlescape}shortlog/{symrev}{morevars%urlparameter}">more</a> 114.71+| rev {rev}: {changenav%navshort} 114.72+</div> 114.73+ 114.74+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 114.75+ ajaxScrollInit( 114.76+ '{url|urlescape}shortlog/%next%{sessionvars%urlparameter}', 114.77+ '{nextentry%"{node}"}', <!-- NEXTHASH 114.78+ function (htmlText) \{ 114.79+ var m = htmlText.match(/'(\w+)', <!-- NEXTHASH/); 114.80+ return m ? m[1] : null; 114.81+ }, 114.82+ '.bigtable > tbody', 114.83+ '<tr class="%class%">\\ 114.84+ <td colspan="3" style="text-align: center;">%text%</td>\\ 114.85+ </tr>' 114.86+ ); 114.87+</script> 114.88+ 114.89+</div> 114.90+</div> 114.91+ 114.92+{footer}
115.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 115.2+++ b/templates/paper/shortlogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 115.3@@ -0,0 +1,8 @@ 115.4+ <tr> 115.5+ <td class="age">{date|rfc822date}</td> 115.6+ <td class="author">{author|person}</td> 115.7+ <td class="description"> 115.8+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a> 115.9+ {alltags} 115.10+ </td> 115.11+ </tr>
116.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 116.2+++ b/templates/paper/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 116.3@@ -0,0 +1,53 @@ 116.4+{header} 116.5+<title>{repo|escape}: tags</title> 116.6+<link rel="alternate" type="application/atom+xml" 116.7+ href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags" /> 116.8+<link rel="alternate" type="application/rss+xml" 116.9+ href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags" /> 116.10+</head> 116.11+<body> 116.12+ 116.13+<div class="container"> 116.14+<div class="menu"> 116.15+<div class="logo"> 116.16+<a href="{logourl}"> 116.17+<img src="{staticurl|urlescape}{logoimg}" alt="mercurial" /></a> 116.18+</div> 116.19+<ul> 116.20+<li><a href="{url|urlescape}shortlog{sessionvars%urlparameter}">log</a></li> 116.21+<li><a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a></li> 116.22+<li class="active">tags</li> 116.23+<li><a href="{url|urlescape}bookmarks{sessionvars%urlparameter}">bookmarks</a></li> 116.24+<li><a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a></li> 116.25+</ul> 116.26+<ul> 116.27+<li><a href="{url|urlescape}help{sessionvars%urlparameter}">help</a></li> 116.28+</ul> 116.29+<div class="atom-logo"> 116.30+<a href="{url|urlescape}atom-tags" title="subscribe to atom feed"> 116.31+<img class="atom-logo" src="{staticurl|urlescape}feed-icon-14x14.png" alt="atom feed" /> 116.32+</a> 116.33+</div> 116.34+</div> 116.35+ 116.36+<div class="main"> 116.37+<h2 class="breadcrumb"><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 116.38+<h3>tags</h3> 116.39+ 116.40+{searchform} 116.41+ 116.42+<table class="bigtable"> 116.43+<thead> 116.44+<tr> 116.45+ <th>tag</th> 116.46+ <th>node</th> 116.47+</tr> 116.48+</thead> 116.49+<tbody class="stripes2"> 116.50+{entries%tagentry} 116.51+</tbody> 116.52+</table> 116.53+</div> 116.54+</div> 116.55+ 116.56+{footer}
118.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 118.2+++ b/templates/raw/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 118.3@@ -0,0 +1,5 @@ 118.4+{header} 118.5+# HG changelog 118.6+# Node ID {node} 118.7+ 118.8+{entries%changelogentry}
119.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 119.2+++ b/templates/raw/changeset.tmpl Sat Jul 20 22:31:54 2024 -0400 119.3@@ -0,0 +1,9 @@ 119.4+{header} 119.5+# HG changeset patch 119.6+# User {author} 119.7+# Date {date|hgdate} 119.8+# Node ID {node} 119.9+{parent%changesetparent} 119.10+{desc} 119.11+ 119.12+{diff}
120.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 120.2+++ b/templates/raw/error.tmpl Sat Jul 20 22:31:54 2024 -0400 120.3@@ -0,0 +1,2 @@ 120.4+{header} 120.5+error: {error}
121.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 121.2+++ b/templates/raw/fileannotate.tmpl Sat Jul 20 22:31:54 2024 -0400 121.3@@ -0,0 +1,5 @@ 121.4+{header} 121.5+{annotate%annotateline} 121.6+{footer} 121.7+ 121.8+
122.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 122.2+++ b/templates/raw/filediff.tmpl Sat Jul 20 22:31:54 2024 -0400 122.3@@ -0,0 +1,5 @@ 122.4+{header} 122.5+{diff} 122.6+{footer} 122.7+ 122.8+
123.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 123.2+++ b/templates/raw/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 123.3@@ -0,0 +1,6 @@ 123.4+{header} 123.5+# HG graph 123.6+# Node ID {node} 123.7+# Rows shown {rows} 123.8+ 123.9+{nodes%graphnode}
124.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 124.2+++ b/templates/raw/graphedge.tmpl Sat Jul 20 22:31:54 2024 -0400 124.3@@ -0,0 +1,1 @@ 124.4+edge: ({col}, {row}) -> ({nextcol}, {nextrow}) (color {color})
125.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 125.2+++ b/templates/raw/graphnode.tmpl Sat Jul 20 22:31:54 2024 -0400 125.3@@ -0,0 +1,7 @@ 125.4+changeset: {node|short} 125.5+user: {author|person} 125.6+date: {date|age} 125.7+summary: {desc|firstline|nonempty} 125.8+{branches%branchname}{tags%tagname}{bookmarks%bookmarkname} 125.9+node: ({col}, {row}) (color {color}) 125.10+{edges%graphedge}
126.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 126.2+++ b/templates/raw/index.tmpl Sat Jul 20 22:31:54 2024 -0400 126.3@@ -0,0 +1,2 @@ 126.4+{header} 126.5+{entries%indexentry}
127.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 127.2+++ b/templates/raw/logentry.tmpl Sat Jul 20 22:31:54 2024 -0400 127.3@@ -0,0 +1,6 @@ 127.4+changeset: {node} 127.5+revision: {rev} 127.6+user: {author} 127.7+date: {date|rfc822date} 127.8+summary: {desc} 127.9+{branches%branchname}{tags%tagname}{bookmarks%bookmarkname}
128.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 128.2+++ b/templates/raw/manifest.tmpl Sat Jul 20 22:31:54 2024 -0400 128.3@@ -0,0 +1,3 @@ 128.4+{header} 128.5+{dentries%direntry}{fentries%fileentry} 128.6+{footer}
129.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 129.2+++ b/templates/raw/map Sat Jul 20 22:31:54 2024 -0400 129.3@@ -0,0 +1,41 @@ 129.4+default = 'shortlog' 129.5+shortlog = "'raw' is not a browsable style" 129.6+changelog = changelog.tmpl 129.7+changelogentry = logentry.tmpl 129.8+search = search.tmpl 129.9+mimetype = 'text/plain; charset={encoding}' 129.10+header = '' 129.11+footer = '' 129.12+changeset = changeset.tmpl 129.13+difflineplus = '{line}' 129.14+difflineminus = '{line}' 129.15+difflineat = '{line}' 129.16+diffline = '{line}' 129.17+changesetparent = '# Parent {node}' 129.18+changesetchild = '# Child {node}' 129.19+filenodelink = '' 129.20+filenolink = '' 129.21+fileline = '{line}' 129.22+diffblock = '{lines}' 129.23+filediff = filediff.tmpl 129.24+fileannotate = fileannotate.tmpl 129.25+annotateline = '{author|user}@{rev}: {line}' 129.26+manifest = manifest.tmpl 129.27+direntry = 'drwxr-xr-x {basename}\n' 129.28+fileentry = '{permissions|permissions} {size} {basename}\n' 129.29+index = index.tmpl 129.30+notfound = notfound.tmpl 129.31+error = error.tmpl 129.32+indexentry = '{url}\n' 129.33+tags = '{entries%tagentry}' 129.34+tagentry = '{tag} {node}\n' 129.35+bookmarks = '{entries%bookmarkentry}' 129.36+bookmarkentry = '{bookmark} {node}\n' 129.37+branches = '{entries%branchentry}' 129.38+branchentry = '{branch} {node} {status}\n' 129.39+graph = graph.tmpl 129.40+graphnode = graphnode.tmpl 129.41+graphedge = graphedge.tmpl 129.42+bookmarkname = 'bookmark: {name}\n' 129.43+branchname = 'branch: {name}\n' 129.44+tagname = 'tag: {name}\n'
130.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 130.2+++ b/templates/raw/notfound.tmpl Sat Jul 20 22:31:54 2024 -0400 130.3@@ -0,0 +1,2 @@ 130.4+{header} 130.5+error: repository {repo} not found
131.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 131.2+++ b/templates/raw/search.tmpl Sat Jul 20 22:31:54 2024 -0400 131.3@@ -0,0 +1,7 @@ 131.4+{header} 131.5+# HG changesets search 131.6+# Node ID {node} 131.7+# Query "{query}" 131.8+# Mode {modedesc} 131.9+ 131.10+{entries%changelogentry}
133.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 133.2+++ b/templates/rss/bookmarkentry.tmpl Sat Jul 20 22:31:54 2024 -0400 133.3@@ -0,0 +1,6 @@ 133.4+<item> 133.5+ <title>{bookmark|escape}</title> 133.6+ <link>{urlbase}{url|urlescape}rev/{node|short}</link> 133.7+ <description><![CDATA[{bookmark|strip|escape|addbreaks}]]></description> 133.8+ <pubDate>{date|rfc822date}</pubDate> 133.9+</item>
134.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 134.2+++ b/templates/rss/bookmarks.tmpl Sat Jul 20 22:31:54 2024 -0400 134.3@@ -0,0 +1,6 @@ 134.4+{header} 134.5+ <title>{repo|escape}: bookmarks</title> 134.6+ <description>{repo|escape} bookmark history</description> 134.7+ {entries%bookmarkentry} 134.8+ </channel> 134.9+</rss>
135.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 135.2+++ b/templates/rss/branchentry.tmpl Sat Jul 20 22:31:54 2024 -0400 135.3@@ -0,0 +1,6 @@ 135.4+<item> 135.5+ <title>{branch|escape}</title> 135.6+ <link>{urlbase}{url|urlescape}rev/{node|short}</link> 135.7+ <description><![CDATA[{branch|strip|escape|addbreaks}]]></description> 135.8+ <pubDate>{date|rfc822date}</pubDate> 135.9+</item>
136.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 136.2+++ b/templates/rss/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 136.3@@ -0,0 +1,6 @@ 136.4+{header} 136.5+ <title>{repo|escape}: branches</title> 136.6+ <description>{repo|escape} branch history</description> 136.7+ {entries%branchentry} 136.8+ </channel> 136.9+</rss>
137.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 137.2+++ b/templates/rss/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 137.3@@ -0,0 +1,6 @@ 137.4+{header} 137.5+ <title>{repo|escape} Changelog</title> 137.6+ <description>{repo|escape} Changelog</description> 137.7+ {entries%changelogentry} 137.8+ </channel> 137.9+</rss> 137.10\ No newline at end of file
138.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 138.2+++ b/templates/rss/changelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 138.3@@ -0,0 +1,41 @@ 138.4+<item> 138.5+ <title>{inbranch%"{if(name, '[{name|escape}] ')}"}{branches%"{if(name, '[{name|escape}] ')}"}{desc|strip|firstline|strip|escape}</title> 138.6+ <guid isPermaLink="true">{urlbase}{url|urlescape}rev/{node|short}</guid> 138.7+ <link>{urlbase}{url|urlescape}rev/{node|short}</link> 138.8+ <description> 138.9+ <![CDATA[ 138.10+ <table> 138.11+ <tr> 138.12+ <th style="text-align:left;">changeset</th> 138.13+ <td>{node|short}</td> 138.14+ </tr> 138.15+ <tr> 138.16+ <th style="text-align:left;">branch</th> 138.17+ <td>{inbranch%"{name|escape}"}{branches%"{name|escape}"}</td> 138.18+ </tr> 138.19+ <tr> 138.20+ <th style="text-align:left;">bookmark</th> 138.21+ <td>{bookmarks%"{name|escape}"}</td> 138.22+ </tr> 138.23+ <tr> 138.24+ <th style="text-align:left;">tag</th> 138.25+ <td>{tags%"{name|escape}"}</td> 138.26+ </tr> 138.27+ <tr> 138.28+ <th style="text-align:left;vertical-align:top;">user</th> 138.29+ <td>{author|obfuscate}</td> 138.30+ </tr> 138.31+ <tr> 138.32+ <th style="text-align:left;vertical-align:top;">description</th> 138.33+ <td>{desc|strip|escape|websub|addbreaks|nonempty}</td> 138.34+ </tr> 138.35+ <tr> 138.36+ <th style="text-align:left;vertical-align:top;">files</th> 138.37+ <td>{files}</td> 138.38+ </tr> 138.39+ </table> 138.40+ ]]> 138.41+ </description> 138.42+ <author>{author|obfuscate}</author> 138.43+ <pubDate>{date|rfc822date}</pubDate> 138.44+</item>
139.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 139.2+++ b/templates/rss/error.tmpl Sat Jul 20 22:31:54 2024 -0400 139.3@@ -0,0 +1,10 @@ 139.4+{header} 139.5+ <title>Error</title> 139.6+ <description>Error</description> 139.7+ <item> 139.8+ <title>Error</title> 139.9+ <description>{error|escape}</description> 139.10+ <guid>https://mercurial-scm.org/#error</guid> 139.11+ </item> 139.12+ </channel> 139.13+</rss>
140.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 140.2+++ b/templates/rss/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 140.3@@ -0,0 +1,6 @@ 140.4+{header} 140.5+ <title>{repo|escape}: {file|escape} history</title> 140.6+ <description>{file|escape} revision history</description> 140.7+ {entries%filelogentry} 140.8+ </channel> 140.9+</rss>
141.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 141.2+++ b/templates/rss/filelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 141.3@@ -0,0 +1,7 @@ 141.4+<item> 141.5+ <title>{desc|strip|firstline|strip|escape}</title> 141.6+ <link>{urlbase}{url|urlescape}log/{node|short}/{file|urlescape}</link> 141.7+ <description><![CDATA[{desc|strip|escape|websub|addbreaks|nonempty}]]></description> 141.8+ <author>{author|obfuscate}</author> 141.9+ <pubDate>{date|rfc822date}</pubDate> 141.10+</item>
142.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 142.2+++ b/templates/rss/header.tmpl Sat Jul 20 22:31:54 2024 -0400 142.3@@ -0,0 +1,5 @@ 142.4+<?xml version="1.0" encoding="{encoding}"?> 142.5+<rss version="2.0"> 142.6+ <channel> 142.7+ <link>{urlbase}{url|urlescape}</link> 142.8+ <language>en-us</language>
143.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 143.2+++ b/templates/rss/map Sat Jul 20 22:31:54 2024 -0400 143.3@@ -0,0 +1,18 @@ 143.4+default = 'changelog' 143.5+mimetype = 'text/xml; charset={encoding}' 143.6+header = header.tmpl 143.7+changelog = changelog.tmpl 143.8+changelogentry = changelogentry.tmpl 143.9+filelog = filelog.tmpl 143.10+filelogentry = filelogentry.tmpl 143.11+tags = tags.tmpl 143.12+tagentry = tagentry.tmpl 143.13+bookmarks = bookmarks.tmpl 143.14+bookmarkentry = bookmarkentry.tmpl 143.15+branches = branches.tmpl 143.16+branchentry = branchentry.tmpl 143.17+error = error.tmpl 143.18+filedifflink = '{file|escape}<br />' 143.19+fileellipses = '{file|escape}<br />' 143.20+filenodelink = '{file|escape}<br />' 143.21+filenolink = '{file|escape}<br />'
144.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 144.2+++ b/templates/rss/tagentry.tmpl Sat Jul 20 22:31:54 2024 -0400 144.3@@ -0,0 +1,6 @@ 144.4+<item> 144.5+ <title>{tag|escape}</title> 144.6+ <link>{urlbase}{url|urlescape}rev/{node|short}</link> 144.7+ <description><![CDATA[{tag|strip|escape|addbreaks}]]></description> 144.8+ <pubDate>{date|rfc822date}</pubDate> 144.9+</item>
145.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 145.2+++ b/templates/rss/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 145.3@@ -0,0 +1,6 @@ 145.4+{header} 145.5+ <title>{repo|escape}: tags</title> 145.6+ <description>{repo|escape} tag history</description> 145.7+ {entriesnotip%tagentry} 145.8+ </channel> 145.9+</rss>
147.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 147.2+++ b/templates/spartan/branches.tmpl Sat Jul 20 22:31:54 2024 -0400 147.3@@ -0,0 +1,27 @@ 147.4+{header} 147.5+<title>{repo|escape}: branches</title> 147.6+<link rel="alternate" type="application/atom+xml" 147.7+ href="{url|urlescape}atom-branches" title="Atom feed for {repo|escape}: branches"> 147.8+<link rel="alternate" type="application/rss+xml" 147.9+ href="{url|urlescape}rss-branches" title="RSS feed for {repo|escape}: branches"> 147.10+</head> 147.11+<body> 147.12+ 147.13+<div class="buttons"> 147.14+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> 147.15+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> 147.16+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> 147.17+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 147.18+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> 147.19+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 147.20+<a type="application/rss+xml" href="{url|urlescape}rss-branches">rss</a> 147.21+<a type="application/atom+xml" href="{url|urlescape}atom-branches">atom</a> 147.22+</div> 147.23+ 147.24+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / branches</h2> 147.25+ 147.26+<ul id="tagEntries"> 147.27+{entries%branchentry} 147.28+</ul> 147.29+ 147.30+{footer}
148.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 148.2+++ b/templates/spartan/changelog.tmpl Sat Jul 20 22:31:54 2024 -0400 148.3@@ -0,0 +1,44 @@ 148.4+{header} 148.5+<title>{repo|escape}: changelog</title> 148.6+<link rel="alternate" type="application/atom+xml" 148.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"> 148.8+<link rel="alternate" type="application/rss+xml" 148.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"> 148.10+</head> 148.11+<body> 148.12+ 148.13+<div class="buttons"> 148.14+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 148.15+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 148.16+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 148.17+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 148.18+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a> 148.19+{archives%archiveentry} 148.20+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 148.21+<a type="application/rss+xml" href="{url|urlescape}rss-log">rss</a> 148.22+<a type="application/atom+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}">atom</a> 148.23+</div> 148.24+ 148.25+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / changelog</h2> 148.26+ 148.27+<form action="{url|urlescape}log"> 148.28+{sessionvars%hiddenformentry} 148.29+<p> 148.30+<label for="search1">search:</label> 148.31+<input name="rev" id="search1" type="text" size="30"> 148.32+navigate: <small class="navigate">{changenav%nav}</small> 148.33+</p> 148.34+</form> 148.35+ 148.36+{entries%changelogentry} 148.37+ 148.38+<form action="{url|urlescape}log"> 148.39+{sessionvars%hiddenformentry} 148.40+<p> 148.41+<label for="search2">search:</label> 148.42+<input name="rev" id="search2" type="text" size="30"> 148.43+navigate: <small class="navigate">{changenav%nav}</small> 148.44+</p> 148.45+</form> 148.46+ 148.47+{footer}
149.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 149.2+++ b/templates/spartan/changelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 149.3@@ -0,0 +1,31 @@ 149.4+<table class="logEntry parity{parity}"> 149.5+ <tr> 149.6+ <th class="label"><span class="age">{date|rfc822date}</span>:</th> 149.7+ <th class="firstline">{desc|strip|firstline|escape|nonempty}</th> 149.8+ </tr> 149.9+ <tr> 149.10+ <th class="revision">changeset {rev}:</th> 149.11+ <td class="node"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 149.12+ </tr> 149.13+ {parent%changelogparent} 149.14+ {child%changelogchild} 149.15+ {changelogtag} 149.16+ <tr> 149.17+ <th class="author">author:</th> 149.18+ <td class="author">{author|obfuscate}</td> 149.19+ </tr> 149.20+ <tr> 149.21+ <th class="date">date:</th> 149.22+ <td class="date">{date|rfc822date}</td> 149.23+ </tr> 149.24+ {ifeq(phase, 'public', '', '<tr> 149.25+ <th class="phase">phase:</th> 149.26+ <td class="phase">{phase|escape}</td> 149.27+ </tr>')} 149.28+ {if(obsolete, succsandmarkers%obsfateentry)} 149.29+ {if(instabilities, whyunstable%whyunstableentry)} 149.30+ <tr> 149.31+ <th class="files"><a href="{url|urlescape}file/{node|short}{sessionvars%urlparameter}">files</a>:</th> 149.32+ <td class="files">{files}</td> 149.33+ </tr> 149.34+</table>
150.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 150.2+++ b/templates/spartan/changeset.tmpl Sat Jul 20 22:31:54 2024 -0400 150.3@@ -0,0 +1,58 @@ 150.4+{header} 150.5+<title>{repo|escape}: changeset {node|short}</title> 150.6+</head> 150.7+<body> 150.8+ 150.9+<div class="buttons"> 150.10+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 150.11+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 150.12+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 150.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 150.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 150.15+<a href="{url|urlescape}file/{symrev}{sessionvars%urlparameter}">files</a> 150.16+<a href="{url|urlescape}raw-rev/{symrev}">raw</a> 150.17+{archives%archiveentry} 150.18+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 150.19+</div> 150.20+ 150.21+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / changeset: {desc|strip|escape|firstline|nonempty}</h2> 150.22+ 150.23+<table id="changesetEntry"> 150.24+<tr> 150.25+ <th class="changeset">changeset {rev}:</th> 150.26+ <td class="changeset"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 150.27+</tr> 150.28+{ifeq(count(parent), '2', parent%changesetparentdiff, parent%changesetparent)} 150.29+{child%changesetchild} 150.30+{changesettag} 150.31+<tr> 150.32+ <th class="author">author:</th> 150.33+ <td class="author">{author|obfuscate}</td> 150.34+</tr> 150.35+<tr> 150.36+ <th class="date">date:</th> 150.37+ <td class="date age">{date|rfc822date}</td> 150.38+</tr> 150.39+{ifeq(phase, 'public', '', '<tr> 150.40+ <th class="phase">phase:</th> 150.41+ <td class="phase">{phase|escape}</td> 150.42+</tr>')} 150.43+{if(obsolete, succsandmarkers%obsfateentry)} 150.44+{if(instabilities, whyunstable%whyunstableentry)} 150.45+<tr> 150.46+ <th class="files">files:</th> 150.47+ <td class="files">{files}</td> 150.48+</tr> 150.49+<tr> 150.50+ <th class="description">description:</th> 150.51+ <td class="description">{desc|strip|escape|websub|addbreaks|nonempty}</td> 150.52+</tr> 150.53+</table> 150.54+ 150.55+<div id="changesetDiff"> 150.56+{diff} 150.57+</div> 150.58+ 150.59+{footer} 150.60+ 150.61+
151.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 151.2+++ b/templates/spartan/error.tmpl Sat Jul 20 22:31:54 2024 -0400 151.3@@ -0,0 +1,15 @@ 151.4+{header} 151.5+<title>Mercurial Error</title> 151.6+</head> 151.7+<body> 151.8+ 151.9+<h2>Mercurial Error</h2> 151.10+ 151.11+<p> 151.12+An error occurred while processing your request: 151.13+</p> 151.14+<p> 151.15+{error|escape} 151.16+</p> 151.17+ 151.18+{footer}
152.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 152.2+++ b/templates/spartan/fileannotate.tmpl Sat Jul 20 22:31:54 2024 -0400 152.3@@ -0,0 +1,51 @@ 152.4+{header} 152.5+<title>{repo|escape}: {file|escape} annotate</title> 152.6+</head> 152.7+<body> 152.8+ 152.9+<div class="buttons"> 152.10+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 152.11+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 152.12+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 152.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 152.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 152.15+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> 152.16+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> 152.17+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> 152.18+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 152.19+<a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a> 152.20+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 152.21+</div> 152.22+ 152.23+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / annotate {file|escape}</h2> 152.24+ 152.25+<table> 152.26+<tr> 152.27+ <td class="metatag">changeset {rev}:</td> 152.28+ <td><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 152.29+</tr> 152.30+{parent%fileannotateparent} 152.31+{child%fileannotatechild} 152.32+<tr> 152.33+ <td class="metatag">author:</td> 152.34+ <td>{author|obfuscate}</td> 152.35+</tr> 152.36+<tr> 152.37+ <td class="metatag">date:</td> 152.38+ <td class="date age">{date|rfc822date}</td> 152.39+</tr> 152.40+<tr> 152.41+ <td class="metatag">permissions:</td> 152.42+ <td>{permissions|permissions}</td> 152.43+</tr> 152.44+<tr> 152.45+ <td class="metatag">description:</td> 152.46+ <td>{desc|strip|escape|websub|addbreaks|nonempty}</td> 152.47+</tr> 152.48+</table> 152.49+ 152.50+<table cellspacing="0" cellpadding="0"> 152.51+{annotate%annotateline} 152.52+</table> 152.53+ 152.54+{footer}
153.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 153.2+++ b/templates/spartan/filediff.tmpl Sat Jul 20 22:31:54 2024 -0400 153.3@@ -0,0 +1,37 @@ 153.4+{header} 153.5+<title>{repo|escape}: {file|escape} diff</title> 153.6+</head> 153.7+<body> 153.8+ 153.9+<div class="buttons"> 153.10+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 153.11+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 153.12+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 153.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 153.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 153.15+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> 153.16+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> 153.17+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 153.18+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 153.19+<a href="{url|urlescape}raw-diff/{symrev}/{file|urlescape}">raw</a> 153.20+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 153.21+</div> 153.22+ 153.23+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / {file|escape}</h2> 153.24+ 153.25+<table id="filediffEntry"> 153.26+<tr> 153.27+ <th class="revision">revision {rev}:</th> 153.28+ <td class="revision"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 153.29+</tr> 153.30+{parent%filediffparent} 153.31+{child%filediffchild} 153.32+</table> 153.33+ 153.34+<div id="fileDiff"> 153.35+{diff} 153.36+</div> 153.37+ 153.38+{footer} 153.39+ 153.40+
154.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 154.2+++ b/templates/spartan/filelog.tmpl Sat Jul 20 22:31:54 2024 -0400 154.3@@ -0,0 +1,29 @@ 154.4+{header} 154.5+<title>{repo|escape}: {file|escape} history</title> 154.6+<link rel="alternate" type="application/atom+xml" 154.7+ href="{url|urlescape}atom-log/tip/{file|urlescape}" title="Atom feed for {repo|escape}:{file}"> 154.8+<link rel="alternate" type="application/rss+xml" 154.9+ href="{url|urlescape}rss-log/tip/{file|urlescape}" title="RSS feed for {repo|escape}:{file}"> 154.10+</head> 154.11+<body> 154.12+ 154.13+<div class="buttons"> 154.14+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> 154.15+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> 154.16+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> 154.17+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 154.18+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 154.19+<a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">file</a> 154.20+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 154.21+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 154.22+<a type="application/rss+xml" href="{url|urlescape}rss-log/tip/{file|urlescape}">rss</a> 154.23+<a type="application/atom+xml" href="{url|urlescape}atom-log/tip/{file|urlescape}" title="Atom feed for {repo|escape}:{file}">atom</a> 154.24+</div> 154.25+ 154.26+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / {file|escape} revision history</h2> 154.27+ 154.28+<p>navigate: <small class="navigate">{nav%filenav}</small></p> 154.29+ 154.30+{entries%filelogentry} 154.31+ 154.32+{footer}
155.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 155.2+++ b/templates/spartan/filelogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 155.3@@ -0,0 +1,25 @@ 155.4+<table class="logEntry parity{parity}"> 155.5+ <tr> 155.6+ <th class="label"><span class="age">{date|rfc822date}</span>:</th> 155.7+ <th class="firstline"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></th> 155.8+ </tr> 155.9+ <tr> 155.10+ <th class="revision">revision {filerev}:</th> 155.11+ <td class="node"> 155.12+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a> 155.13+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">(diff)</a> 155.14+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">(annotate)</a> 155.15+ </td> 155.16+ </tr> 155.17+ {rename%filelogrename} 155.18+ <tr> 155.19+ <th class="author">author:</th> 155.20+ <td class="author">{author|obfuscate}</td> 155.21+ </tr> 155.22+ <tr> 155.23+ <th class="date">date:</th> 155.24+ <td class="date">{date|rfc822date}</td> 155.25+ </tr> 155.26+</table> 155.27+ 155.28+
156.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 156.2+++ b/templates/spartan/filerevision.tmpl Sat Jul 20 22:31:54 2024 -0400 156.3@@ -0,0 +1,51 @@ 156.4+{header} 156.5+<title>{repo|escape}:{file|escape}</title> 156.6+</head> 156.7+<body> 156.8+ 156.9+<div class="buttons"> 156.10+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 156.11+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 156.12+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 156.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 156.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 156.15+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> 156.16+<a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">files</a> 156.17+<a href="{url|urlescape}log/{symrev}/{file|urlescape}{sessionvars%urlparameter}">revisions</a> 156.18+<a href="{url|urlescape}annotate/{symrev}/{file|urlescape}{sessionvars%urlparameter}">annotate</a> 156.19+<a href="{url|urlescape}raw-file/{symrev}/{file|urlescape}">raw</a> 156.20+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 156.21+</div> 156.22+ 156.23+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / {file|escape}</h2> 156.24+ 156.25+<table> 156.26+<tr> 156.27+ <td class="metatag">changeset {rev}:</td> 156.28+ <td><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 156.29+</tr> 156.30+{parent%filerevparent} 156.31+{child%filerevchild} 156.32+<tr> 156.33+ <td class="metatag">author:</td> 156.34+ <td>{author|obfuscate}</td> 156.35+</tr> 156.36+<tr> 156.37+ <td class="metatag">date:</td> 156.38+ <td class="date age">{date|rfc822date}</td> 156.39+</tr> 156.40+<tr> 156.41+ <td class="metatag">permissions:</td> 156.42+ <td>{permissions|permissions}</td> 156.43+</tr> 156.44+<tr> 156.45+ <td class="metatag">description:</td> 156.46+ <td>{desc|strip|escape|websub|addbreaks|nonempty}</td> 156.47+</tr> 156.48+</table> 156.49+ 156.50+<pre> 156.51+{text%fileline} 156.52+</pre> 156.53+ 156.54+{footer}
157.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 157.2+++ b/templates/spartan/footer.tmpl Sat Jul 20 22:31:54 2024 -0400 157.3@@ -0,0 +1,8 @@ 157.4+{motd} 157.5+<div class="logo"> 157.6+<a href="{logourl}"> 157.7+<img src="{staticurl|urlescape}{logoimg}" width=75 height=90 border=0 alt="mercurial"></a> 157.8+</div> 157.9+ 157.10+</body> 157.11+</html>
158.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 158.2+++ b/templates/spartan/graph.tmpl Sat Jul 20 22:31:54 2024 -0400 158.3@@ -0,0 +1,53 @@ 158.4+{header} 158.5+<title>{repo|escape}: graph</title> 158.6+<link rel="alternate" type="application/atom+xml" 158.7+ href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"> 158.8+<link rel="alternate" type="application/rss+xml" 158.9+ href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"> 158.10+</head> 158.11+<body> 158.12+ 158.13+<div class="buttons"> 158.14+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 158.15+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 158.16+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 158.17+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 158.18+<a href="{url|urlescape}file/{symrev}/{sessionvars%urlparameter}">files</a> 158.19+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 158.20+</div> 158.21+ 158.22+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / graph</h2> 158.23+ 158.24+<form action="{url|urlescape}log"> 158.25+{sessionvars%hiddenformentry} 158.26+<p> 158.27+<label for="search1">search:</label> 158.28+<input name="rev" id="search1" type="text" size="30"> 158.29+navigate: <small class="navigate">{changenav%navgraph}</small> 158.30+</p> 158.31+</form> 158.32+ 158.33+<noscript>The revision graph only works with JavaScript-enabled browsers.</noscript> 158.34+ 158.35+<div id="wrapper"> 158.36+<canvas id="graph"></canvas> 158.37+<ul id="graphnodes">{nodes%graphentry}</ul> 158.38+</div> 158.39+ 158.40+<script type="text/javascript"{if(nonce, ' nonce="{nonce}"')}> 158.41+var data = {jsdata|json}; 158.42+var graph = new Graph(); 158.43+graph.scale({bg_height}); 158.44+graph.render(data); 158.45+</script> 158.46+ 158.47+<form action="{url|urlescape}log"> 158.48+{sessionvars%hiddenformentry} 158.49+<p> 158.50+<label for="search1">search:</label> 158.51+<input name="rev" id="search1" type="text" size="30"> 158.52+navigate: <small class="navigate">{changenav%navgraph}</small> 158.53+</p> 158.54+</form> 158.55+ 158.56+{footer}
159.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 159.2+++ b/templates/spartan/graphentry.tmpl Sat Jul 20 22:31:54 2024 -0400 159.3@@ -0,0 +1,8 @@ 159.4+<li class="parity{parity}" data-node="{node|short}"> 159.5+ <div class="fg"> 159.6+ <span class="desc"> 159.7+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a> 159.8+ </span> 159.9+ <div class="info"><span class="age">{date|rfc822date}</span>, by {author|person}</div> 159.10+ </div> 159.11+</li>
160.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 160.2+++ b/templates/spartan/header.tmpl Sat Jul 20 22:31:54 2024 -0400 160.3@@ -0,0 +1,7 @@ 160.4+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 160.5+<html> 160.6+<head> 160.7+<link rel="icon" href="{staticurl|urlescape}hgicon.png" type="image/png"> 160.8+<meta name="robots" content="index, nofollow" /> 160.9+<link rel="stylesheet" href="{staticurl|urlescape}style.css" type="text/css" /> 160.10+<script type="text/javascript" src="{staticurl|urlescape}mercurial.js"></script>
161.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 161.2+++ b/templates/spartan/index.tmpl Sat Jul 20 22:31:54 2024 -0400 161.3@@ -0,0 +1,19 @@ 161.4+{header} 161.5+<title>Mercurial repositories index</title> 161.6+</head> 161.7+<body> 161.8+ 161.9+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb}</h2> 161.10+ 161.11+<table> 161.12+ <tr> 161.13+ <td><a href="?sort={sort_name}">Name</a></td> 161.14+ <td><a href="?sort={sort_description}">Description</a></td> 161.15+ <td><a href="?sort={sort_contact}">Contact</a></td> 161.16+ <td><a href="?sort={sort_lastchange}">Last modified</a></td> 161.17+ <td> </td> 161.18+ </tr> 161.19+ {entries%indexentry} 161.20+</table> 161.21+ 161.22+{footer}
162.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 162.2+++ b/templates/spartan/manifest.tmpl Sat Jul 20 22:31:54 2024 -0400 162.3@@ -0,0 +1,24 @@ 162.4+{header} 162.5+<title>{repo|escape}: files for changeset {node|short}</title> 162.6+</head> 162.7+<body> 162.8+ 162.9+<div class="buttons"> 162.10+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 162.11+<a href="{url|urlescape}shortlog/{symrev}{sessionvars%urlparameter}">shortlog</a> 162.12+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 162.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 162.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 162.15+<a href="{url|urlescape}rev/{symrev}{sessionvars%urlparameter}">changeset</a> 162.16+{archives%archiveentry} 162.17+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 162.18+</div> 162.19+ 162.20+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / files for changeset <a href="{url|urlescape}rev/{node|short}">{node|short}</a>: {path|escape}</h2> 162.21+ 162.22+<table cellpadding="0" cellspacing="0"> 162.23+{ifeq(path, up, '', updirentry)} 162.24+{dentries%direntry} 162.25+{fentries%fileentry} 162.26+</table> 162.27+{footer}
163.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 163.2+++ b/templates/spartan/map Sat Jul 20 22:31:54 2024 -0400 163.3@@ -0,0 +1,227 @@ 163.4+default = 'shortlog' 163.5+mimetype = 'text/html; charset={encoding}' 163.6+header = header.tmpl 163.7+footer = footer.tmpl 163.8+search = search.tmpl 163.9+changelog = changelog.tmpl 163.10+shortlog = shortlog.tmpl 163.11+shortlogentry = shortlogentry.tmpl 163.12+graph = graph.tmpl 163.13+graphentry = graphentry.tmpl 163.14+naventry = '<a href="{url|urlescape}log/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 163.15+navshortentry = '<a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 163.16+navgraphentry = '<a href="{url|urlescape}graph/{node|short}{sessionvars%urlparameter}">{label|escape}</a> ' 163.17+filenaventry = '<a href="{url|urlescape}log/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{label|escape}</a> ' 163.18+filedifflink = '<a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 163.19+filenodelink = '<a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{file|escape}</a> ' 163.20+filenolink = '{file|escape} ' 163.21+fileellipses = '...' 163.22+changelogentry = changelogentry.tmpl 163.23+changeset = changeset.tmpl 163.24+manifest = manifest.tmpl 163.25+ 163.26+nav = '{before%naventry} {after%naventry}' 163.27+navshort = '{before%navshortentry}{after%navshortentry}' 163.28+navgraph = '{before%navgraphentry}{after%navgraphentry}' 163.29+filenav = '{before%filenaventry}{after%filenaventry}' 163.30+ 163.31+updirentry = ' 163.32+ <tr class="parity{upparity}"> 163.33+ <td><tt>drwxr-xr-x</tt> </td> 163.34+ <td> </td> 163.35+ <td> </td> 163.36+ <td> 163.37+ <a href="{url|urlescape}file/{symrev}{up|urlescape}{sessionvars%urlparameter}">[up]</a> 163.38+ </td> 163.39+ </tr> ' 163.40+ 163.41+direntry = ' 163.42+ <tr class="parity{parity}"> 163.43+ <td><tt>drwxr-xr-x</tt> </td> 163.44+ <td> </td> 163.45+ <td> </td> 163.46+ <td> 163.47+ <a href="{url|urlescape}file/{symrev}{path|urlescape}{sessionvars%urlparameter}">{basename|escape}/</a> 163.48+ <a href="{url|urlescape}file/{symrev}{path|urlescape}/{emptydirs|urlescape}{sessionvars%urlparameter}"> 163.49+ {emptydirs|urlescape} 163.50+ </a> 163.51+ </td> 163.52+ </tr>' 163.53+ 163.54+fileentry = ' 163.55+ <tr class="parity{parity}"> 163.56+ <td><tt>{permissions|permissions}</tt> </td> 163.57+ <td align=right><tt class="date">{date|isodate}</tt> </td> 163.58+ <td align=right><tt>{size}</tt> </td> 163.59+ <td><a href="{url|urlescape}file/{symrev}/{file|urlescape}{sessionvars%urlparameter}">{basename|escape}</a></td> 163.60+ </tr>' 163.61+ 163.62+filerevision = filerevision.tmpl 163.63+fileannotate = fileannotate.tmpl 163.64+filediff = filediff.tmpl 163.65+filelog = filelog.tmpl 163.66+fileline = '<div class="parity{parity}"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a> {line|escape}</div>' 163.67+filelogentry = filelogentry.tmpl 163.68+ 163.69+# The ensures that all table cells have content (even if there 163.70+# is an empty line in the annotated file), which in turn ensures that 163.71+# all table rows have equal height. 163.72+annotateline = ' 163.73+ <tr class="parity{parity}{ifeq(node, originalnode, ' thisrev')}"> 163.74+ <td class="annotate parity{blockparity}"> 163.75+ {if(blockhead, 163.76+ '<a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 163.77+ {rev} 163.78+ </a>')} 163.79+ <div class="annotate-info"> 163.80+ <div> 163.81+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}#l{targetline}"> 163.82+ {node|short}</a> 163.83+ {desc|escape|firstline} 163.84+ </div> 163.85+ <div><em>{author|obfuscate}</em></div> 163.86+ <div>parents: {parents%annotateparent}</div> 163.87+ <a href="{url|urlescape}diff/{node|short}/{file|urlescape}{sessionvars%urlparameter}">diff</a> 163.88+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">changeset</a> 163.89+ </div> 163.90+ </td> 163.91+ <td> 163.92+ <a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a> 163.93+ </td> 163.94+ <td><pre> {line|escape}</pre></td> 163.95+ </tr>' 163.96+annotateparent = ' 163.97+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{rev}</a>' 163.98+difflineplus = '<span class="plusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>' 163.99+difflineminus = '<span class="minusline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>' 163.100+difflineat = '<span class="atline"><a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}</span>' 163.101+diffline = '<a class="lineno" href="#{lineid}" id="{lineid}">{linenumber}</a>{line|escape}' 163.102+changesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 163.103+changelogparent = ' 163.104+ <tr> 163.105+ <th class="parent">parent {rev}:</th> 163.106+ <td class="parent"> 163.107+ {changesetlink} 163.108+ </td> 163.109+ </tr>' 163.110+changesetparent = ' 163.111+ <tr> 163.112+ <th class="parent">parent {rev}:</th> 163.113+ <td class="parent">{changesetlink}</td> 163.114+ </tr>' 163.115+changesetparentdiff = ' 163.116+ <tr> 163.117+ <th class="parent">parent {rev}:</th> 163.118+ <td class="parent">{changesetlink} {ifeq(node, basenode, '(current diff)', '({difffrom})')}</td> 163.119+ </tr>' 163.120+difffrom = '<a href="{url|urlescape}rev/{node|short}:{originalnode|short}{sessionvars%urlparameter}">diff</a>' 163.121+filerevparent = ' 163.122+ <tr> 163.123+ <td class="metatag">parent:</td> 163.124+ <td> 163.125+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 163.126+ {rename%filerename}{node|short} 163.127+ </a> 163.128+ </td> 163.129+ </tr>' 163.130+filerename = '{file|escape}@' 163.131+filelogrename = ' 163.132+ <tr> 163.133+ <th>base:</th> 163.134+ <td> 163.135+ <a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 163.136+ {file|escape}@{node|short} 163.137+ </a> 163.138+ </td> 163.139+ </tr>' 163.140+fileannotateparent = ' 163.141+ <tr> 163.142+ <td class="metatag">parent:</td> 163.143+ <td> 163.144+ <a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}"> 163.145+ {rename%filerename}{node|short} 163.146+ </a> 163.147+ </td> 163.148+ </tr>' 163.149+changesetchild = ' 163.150+ <tr> 163.151+ <th class="child">child {rev}:</th> 163.152+ <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 163.153+ </tr>' 163.154+changelogchild = ' 163.155+ <tr> 163.156+ <th class="child">child {rev}:</th> 163.157+ <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 163.158+ </tr>' 163.159+filerevchild = ' 163.160+ <tr> 163.161+ <td class="metatag">child:</td> 163.162+ <td><a href="{url|urlescape}file/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> 163.163+ </tr>' 163.164+fileannotatechild = ' 163.165+ <tr> 163.166+ <td class="metatag">child:</td> 163.167+ <td><a href="{url|urlescape}annotate/{node|short}/{file|urlescape}{sessionvars%urlparameter}">{node|short}</a></td> 163.168+ </tr>' 163.169+tags = tags.tmpl 163.170+tagentry = ' 163.171+ <li class="tagEntry parity{parity}"> 163.172+ <tt class="node">{node}</tt> 163.173+ <a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{tag|escape}</a> 163.174+ </li>' 163.175+branches = branches.tmpl 163.176+branchentry = ' 163.177+ <li class="tagEntry parity{parity}"> 163.178+ <tt class="node">{node}</tt> 163.179+ <a href="{url|urlescape}shortlog/{node|short}{sessionvars%urlparameter}" class="{status}">{branch|escape}</a> 163.180+ </li>' 163.181+diffblock = '<pre class="parity{parity}">{lines}</pre>' 163.182+changelogtag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>' 163.183+changesettag = '<tr><th class="tag">tag:</th><td class="tag">{tag|escape}</td></tr>' 163.184+successorlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a> ' 163.185+obsfatesuccessors = '{if(successors, ' as ')}{successors%successorlink}' 163.186+obsfateverb = '{obsfateverb(successors, markers)}' 163.187+obsfateoperations = '{if(obsfateoperations(markers), ' using {join(obsfateoperations(markers), ', ')}')}' 163.188+obsfateusers = '{if(obsfateusers(markers), ' by {join(obsfateusers(markers)%'{user|obfuscate}', ', ')}')}' 163.189+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>')}')}' 163.190+obsfateentry = ' 163.191+ <tr> 163.192+ <th class="obsolete">obsolete:</th> 163.193+ <td class="obsolete">{obsfateverb}{obsfateoperations}{obsfatesuccessors}{obsfateusers}{obsfatedate}</td> 163.194+ </tr>' 163.195+instabilitychangesetlink = '<a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a>' 163.196+divergentnode = '{instabilitychangesetlink} ({phase})' 163.197+whyunstableentry = ' 163.198+ <tr> 163.199+ <th class="unstable">unstable:</th> 163.200+ <td class="unstable">{instability}: {if(divergentnodes, divergentnodes%divergentnode)} {reason} {instabilitychangesetlink}</td> 163.201+ </tr>' 163.202+filediffparent = ' 163.203+ <tr> 163.204+ <th class="parent">parent {rev}:</th> 163.205+ <td class="parent"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 163.206+ </tr>' 163.207+filediffchild = ' 163.208+ <tr> 163.209+ <th class="child">child {rev}:</th> 163.210+ <td class="child"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{node|short}</a></td> 163.211+ </tr>' 163.212+indexentry = ' 163.213+ <tr class="parity{parity}"> 163.214+ <td><a href="{url|urlescape}{sessionvars%urlparameter}">{name|escape}</a></td> 163.215+ <td>{description}</td> 163.216+ <td>{contact|obfuscate}</td> 163.217+ <td class="age">{lastchange|rfc822date}</td> 163.218+ <td class="indexlinks"> 163.219+ <a href="{url|urlescape}rss-log">RSS</a> 163.220+ <a href="{url|urlescape}atom-log">Atom</a> 163.221+ {archives%archiveentry} 163.222+ </td> 163.223+ </tr>' 163.224+index = index.tmpl 163.225+archiveentry = '<a href="{url|urlescape}archive/{symrev}{extension|urlescape}">{type|escape}</a> ' 163.226+notfound = notfound.tmpl 163.227+error = error.tmpl 163.228+urlparameter = '{separator}{name}={value|urlescape}' 163.229+hiddenformentry = '<input type="hidden" name="{name}" value="{value|escape}" />' 163.230+breadcrumb = '> <a href="{url|urlescape}">{name|escape}</a> '
164.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 164.2+++ b/templates/spartan/notfound.tmpl Sat Jul 20 22:31:54 2024 -0400 164.3@@ -0,0 +1,12 @@ 164.4+{header} 164.5+<title>Mercurial repository not found</title> 164.6+</head> 164.7+<body> 164.8+ 164.9+<h2>Mercurial repository not found</h2> 164.10+ 164.11+The specified repository "{repo|escape}" is unknown, sorry. 164.12+ 164.13+Please go back to the <a href="{url|urlescape}">main repository list page</a>. 164.14+ 164.15+{footer}
165.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 165.2+++ b/templates/spartan/search.tmpl Sat Jul 20 22:31:54 2024 -0400 165.3@@ -0,0 +1,37 @@ 165.4+{header} 165.5+<title>{repo|escape}: searching for {query|escape}</title> 165.6+</head> 165.7+<body> 165.8+ 165.9+<div class="buttons"> 165.10+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> 165.11+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> 165.12+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> 165.13+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 165.14+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 165.15+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> 165.16+{archives%archiveentry} 165.17+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 165.18+</div> 165.19+ 165.20+<h2>searching for {query|escape}</h2> 165.21+ 165.22+<form> 165.23+{sessionvars%hiddenformentry} 165.24+<p> 165.25+search: 165.26+<input name="rev" type="text" width="30" value="{query|escape}"> 165.27+</p> 165.28+</form> 165.29+ 165.30+{entries%changelogentry} 165.31+ 165.32+<form> 165.33+{sessionvars%hiddenformentry} 165.34+<p> 165.35+search: 165.36+<input name="rev" type="text" width="30" value="{query|escape}"> 165.37+</p> 165.38+</form> 165.39+ 165.40+{footer}
166.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 166.2+++ b/templates/spartan/shortlog.tmpl Sat Jul 20 22:31:54 2024 -0400 166.3@@ -0,0 +1,44 @@ 166.4+{header} 166.5+<title>{repo|escape}: shortlog</title> 166.6+<link rel="alternate" type="application/atom+xml" 166.7+ href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}"> 166.8+<link rel="alternate" type="application/rss+xml" 166.9+ href="{url|urlescape}rss-log" title="RSS feed for {repo|escape}"> 166.10+</head> 166.11+<body> 166.12+ 166.13+<div class="buttons"> 166.14+<a href="{url|urlescape}log/{symrev}{sessionvars%urlparameter}">changelog</a> 166.15+<a href="{url|urlescape}graph/{symrev}{sessionvars%urlparameter}">graph</a> 166.16+<a href="{url|urlescape}tags{sessionvars%urlparameter}">tags</a> 166.17+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 166.18+<a href="{url|urlescape}file/{symrev}/{sessionvars%urlparameter}">files</a> 166.19+{archives%archiveentry} 166.20+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 166.21+<a type="application/rss+xml" href="{url|urlescape}rss-log">rss</a> 166.22+<a type="application/rss+xml" href="{url|urlescape}atom-log" title="Atom feed for {repo|escape}">atom</a> 166.23+</div> 166.24+ 166.25+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / shortlog</h2> 166.26+ 166.27+<form action="{url|urlescape}log"> 166.28+{sessionvars%hiddenformentry} 166.29+<p> 166.30+<label for="search1">search:</label> 166.31+<input name="rev" id="search1" type="text" size="30"> 166.32+navigate: <small class="navigate">{changenav%navshort}</small> 166.33+</p> 166.34+</form> 166.35+ 166.36+{entries%shortlogentry} 166.37+ 166.38+<form action="{url|urlescape}log"> 166.39+{sessionvars%hiddenformentry} 166.40+<p> 166.41+<label for="search2">search:</label> 166.42+<input name="rev" id="search2" type="text" size="30"> 166.43+navigate: <small class="navigate">{changenav%navshort}</small> 166.44+</p> 166.45+</form> 166.46+ 166.47+{footer}
167.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 167.2+++ b/templates/spartan/shortlogentry.tmpl Sat Jul 20 22:31:54 2024 -0400 167.3@@ -0,0 +1,7 @@ 167.4+<table class="slogEntry parity{parity}"> 167.5+ <tr> 167.6+ <td class="age">{date|rfc822date}</td> 167.7+ <td class="author">{author|person}</td> 167.8+ <td class="node"><a href="{url|urlescape}rev/{node|short}{sessionvars%urlparameter}">{desc|strip|firstline|escape|nonempty}</a></td> 167.9+ </tr> 167.10+</table>
168.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 168.2+++ b/templates/spartan/tags.tmpl Sat Jul 20 22:31:54 2024 -0400 168.3@@ -0,0 +1,27 @@ 168.4+{header} 168.5+<title>{repo|escape}: tags</title> 168.6+<link rel="alternate" type="application/atom+xml" 168.7+ href="{url|urlescape}atom-tags" title="Atom feed for {repo|escape}: tags"> 168.8+<link rel="alternate" type="application/rss+xml" 168.9+ href="{url|urlescape}rss-tags" title="RSS feed for {repo|escape}: tags"> 168.10+</head> 168.11+<body> 168.12+ 168.13+<div class="buttons"> 168.14+<a href="{url|urlescape}log{sessionvars%urlparameter}">changelog</a> 168.15+<a href="{url|urlescape}shortlog{sessionvars%urlparameter}">shortlog</a> 168.16+<a href="{url|urlescape}graph{sessionvars%urlparameter}">graph</a> 168.17+<a href="{url|urlescape}branches{sessionvars%urlparameter}">branches</a> 168.18+<a href="{url|urlescape}file{sessionvars%urlparameter}">files</a> 168.19+<a href="{url|urlescape}help{sessionvars%urlparameter}">help</a> 168.20+<a type="application/rss+xml" href="{url|urlescape}rss-tags">rss</a> 168.21+<a type="application/atom+xml" href="{url|urlescape}atom-tags">atom</a> 168.22+</div> 168.23+ 168.24+<h2><a href="/">Mercurial</a> {pathdef%breadcrumb} / tags</h2> 168.25+ 168.26+<ul id="tagEntries"> 168.27+{entries%tagentry} 168.28+</ul> 168.29+ 168.30+{footer}
170.1Binary file templates/static/background.png has changed
171.1Binary file templates/static/coal-file.png has changed
172.1Binary file templates/static/coal-folder.png has changed
173.1Binary file templates/static/feed-icon-14x14.png has changed
174.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 174.2+++ b/templates/static/followlines.js Sat Jul 20 22:31:54 2024 -0400 174.3@@ -0,0 +1,286 @@ 174.4+// followlines.js - JavaScript utilities for followlines UI 174.5+// 174.6+// Copyright 2017 Logilab SA <contact@logilab.fr> 174.7+// 174.8+// This software may be used and distributed according to the terms of the 174.9+// GNU General Public License version 2 or any later version. 174.10+ 174.11+//** Install event listeners for line block selection and followlines action */ 174.12+document.addEventListener('DOMContentLoaded', function() { 174.13+ var sourcelines = document.getElementsByClassName('sourcelines')[0]; 174.14+ if (typeof sourcelines === 'undefined') { 174.15+ return; 174.16+ } 174.17+ // URL to complement with "linerange" query parameter 174.18+ var targetUri = sourcelines.dataset.logurl; 174.19+ if (typeof targetUri === 'undefined') { 174.20+ return; 174.21+ } 174.22+ 174.23+ // Tag of children of "sourcelines" element on which to add "line 174.24+ // selection" style. 174.25+ var selectableTag = sourcelines.dataset.selectabletag; 174.26+ if (typeof selectableTag === 'undefined') { 174.27+ return; 174.28+ } 174.29+ 174.30+ var isHead = parseInt(sourcelines.dataset.ishead || "0"); 174.31+ 174.32+ //* position "element" on top-right of cursor */ 174.33+ function positionTopRight(element, event) { 174.34+ var x = (event.clientX + 10) + 'px', 174.35+ y = (event.clientY - 20) + 'px'; 174.36+ element.style.top = y; 174.37+ element.style.left = x; 174.38+ } 174.39+ 174.40+ // retrieve all direct *selectable* children of class="sourcelines" 174.41+ // element 174.42+ var selectableElements = Array.prototype.filter.call( 174.43+ sourcelines.children, 174.44+ function(x) { return x.tagName === selectableTag; }); 174.45+ 174.46+ var btnTitleStart = 'start following lines history from here'; 174.47+ var btnTitleEnd = 'terminate line block selection here'; 174.48+ 174.49+ //** return a <button> element with +/- spans */ 174.50+ function createButton() { 174.51+ var btn = document.createElement('button'); 174.52+ btn.title = btnTitleStart; 174.53+ btn.classList.add('btn-followlines'); 174.54+ var plusSpan = document.createElement('span'); 174.55+ plusSpan.classList.add('followlines-plus'); 174.56+ plusSpan.innerHTML = '+'; 174.57+ btn.appendChild(plusSpan); 174.58+ var br = document.createElement('br'); 174.59+ btn.appendChild(br); 174.60+ var minusSpan = document.createElement('span'); 174.61+ minusSpan.classList.add('followlines-minus'); 174.62+ minusSpan.innerHTML = '−'; 174.63+ btn.appendChild(minusSpan); 174.64+ return btn; 174.65+ } 174.66+ 174.67+ // extend DOM with CSS class for selection highlight and action buttons 174.68+ var followlinesButtons = []; 174.69+ for (var i = 0; i < selectableElements.length; i++) { 174.70+ selectableElements[i].classList.add('followlines-select'); 174.71+ var btn = createButton(); 174.72+ followlinesButtons.push(btn); 174.73+ // insert the <button> as child of `selectableElements[i]` unless the 174.74+ // latter has itself a child with a "followlines-btn-parent" class 174.75+ // (annotate view) 174.76+ var btnSupportElm = selectableElements[i]; 174.77+ var childSupportElms = btnSupportElm.getElementsByClassName( 174.78+ 'followlines-btn-parent'); 174.79+ if ( childSupportElms.length > 0 ) { 174.80+ btnSupportElm = childSupportElms[0]; 174.81+ } 174.82+ var refNode = btnSupportElm.childNodes[0]; // node to insert <button> before 174.83+ btnSupportElm.insertBefore(btn, refNode); 174.84+ } 174.85+ 174.86+ // ** re-initialize followlines buttons */ 174.87+ function resetButtons() { 174.88+ for (var i = 0; i < followlinesButtons.length; i++) { 174.89+ var btn = followlinesButtons[i]; 174.90+ btn.title = btnTitleStart; 174.91+ btn.classList.remove('btn-followlines-end'); 174.92+ btn.classList.remove('btn-followlines-hidden'); 174.93+ } 174.94+ } 174.95+ 174.96+ var lineSelectedCSSClass = 'followlines-selected'; 174.97+ 174.98+ //** add CSS class on selectable elements in `from`-`to` line range */ 174.99+ function addSelectedCSSClass(from, to) { 174.100+ for (var i = from; i <= to; i++) { 174.101+ selectableElements[i].classList.add(lineSelectedCSSClass); 174.102+ } 174.103+ } 174.104+ 174.105+ //** remove CSS class from previously selected lines */ 174.106+ function removeSelectedCSSClass() { 174.107+ var elements = sourcelines.getElementsByClassName( 174.108+ lineSelectedCSSClass); 174.109+ while (elements.length) { 174.110+ elements[0].classList.remove(lineSelectedCSSClass); 174.111+ } 174.112+ } 174.113+ 174.114+ // ** return the element of type "selectableTag" parent of `element` */ 174.115+ function selectableParent(element) { 174.116+ var parent = element.parentElement; 174.117+ if (parent === null) { 174.118+ return null; 174.119+ } 174.120+ if (element.tagName === selectableTag && parent.isSameNode(sourcelines)) { 174.121+ return element; 174.122+ } 174.123+ return selectableParent(parent); 174.124+ } 174.125+ 174.126+ // ** update buttons title and style upon first click */ 174.127+ function updateButtons(selectable) { 174.128+ for (var i = 0; i < followlinesButtons.length; i++) { 174.129+ var btn = followlinesButtons[i]; 174.130+ btn.title = btnTitleEnd; 174.131+ btn.classList.add('btn-followlines-end'); 174.132+ } 174.133+ // on clicked button, change title to "cancel" 174.134+ var clicked = selectable.getElementsByClassName('btn-followlines')[0]; 174.135+ clicked.title = 'cancel'; 174.136+ clicked.classList.remove('btn-followlines-end'); 174.137+ } 174.138+ 174.139+ //** add `listener` on "click" event for all `followlinesButtons` */ 174.140+ function buttonsAddEventListener(listener) { 174.141+ for (var i = 0; i < followlinesButtons.length; i++) { 174.142+ followlinesButtons[i].addEventListener('click', listener); 174.143+ } 174.144+ } 174.145+ 174.146+ //** remove `listener` on "click" event for all `followlinesButtons` */ 174.147+ function buttonsRemoveEventListener(listener) { 174.148+ for (var i = 0; i < followlinesButtons.length; i++) { 174.149+ followlinesButtons[i].removeEventListener('click', listener); 174.150+ } 174.151+ } 174.152+ 174.153+ //** event handler for "click" on the first line of a block */ 174.154+ function lineSelectStart(e) { 174.155+ var startElement = selectableParent(e.target.parentElement); 174.156+ if (startElement === null) { 174.157+ // not a "selectable" element (maybe <a>): abort, keeping event 174.158+ // listener registered for other click with a "selectable" target 174.159+ return; 174.160+ } 174.161+ 174.162+ // update button tooltip text and CSS 174.163+ updateButtons(startElement); 174.164+ 174.165+ var startId = parseInt(startElement.id.slice(1)); 174.166+ startElement.classList.add(lineSelectedCSSClass); // CSS 174.167+ 174.168+ // remove this event listener 174.169+ buttonsRemoveEventListener(lineSelectStart); 174.170+ 174.171+ //** event handler for "click" on the last line of the block */ 174.172+ function lineSelectEnd(e) { 174.173+ var endElement = selectableParent(e.target.parentElement); 174.174+ if (endElement === null) { 174.175+ // not a <span> (maybe <a>): abort, keeping event listener 174.176+ // registered for other click with <span> target 174.177+ return; 174.178+ } 174.179+ 174.180+ // remove this event listener 174.181+ buttonsRemoveEventListener(lineSelectEnd); 174.182+ 174.183+ // reset button tooltip text 174.184+ resetButtons(); 174.185+ 174.186+ // compute line range (startId, endId) 174.187+ var endId = parseInt(endElement.id.slice(1)); 174.188+ if (endId === startId) { 174.189+ // clicked twice the same line, cancel and reset initial state 174.190+ // (CSS, event listener for selection start) 174.191+ removeSelectedCSSClass(); 174.192+ buttonsAddEventListener(lineSelectStart); 174.193+ return; 174.194+ } 174.195+ var inviteElement = endElement; 174.196+ if (endId < startId) { 174.197+ var tmp = endId; 174.198+ endId = startId; 174.199+ startId = tmp; 174.200+ inviteElement = startElement; 174.201+ } 174.202+ 174.203+ addSelectedCSSClass(startId - 1, endId -1); // CSS 174.204+ 174.205+ // append the <div id="followlines"> element to last line of the 174.206+ // selection block 174.207+ var divAndButton = followlinesBox(targetUri, startId, endId, isHead); 174.208+ var div = divAndButton[0], 174.209+ button = divAndButton[1]; 174.210+ inviteElement.appendChild(div); 174.211+ // set position close to cursor (top-right) 174.212+ positionTopRight(div, e); 174.213+ // hide all buttons 174.214+ for (var i = 0; i < followlinesButtons.length; i++) { 174.215+ followlinesButtons[i].classList.add('btn-followlines-hidden'); 174.216+ } 174.217+ 174.218+ //** event handler for cancelling selection */ 174.219+ function cancel() { 174.220+ // remove invite box 174.221+ div.parentNode.removeChild(div); 174.222+ // restore initial event listeners 174.223+ buttonsAddEventListener(lineSelectStart); 174.224+ buttonsRemoveEventListener(cancel); 174.225+ for (var i = 0; i < followlinesButtons.length; i++) { 174.226+ followlinesButtons[i].classList.remove('btn-followlines-hidden'); 174.227+ } 174.228+ // remove styles on selected lines 174.229+ removeSelectedCSSClass(); 174.230+ resetButtons(); 174.231+ } 174.232+ 174.233+ // bind cancel event to click on <button> 174.234+ button.addEventListener('click', cancel); 174.235+ // as well as on an click on any source line 174.236+ buttonsAddEventListener(cancel); 174.237+ } 174.238+ 174.239+ buttonsAddEventListener(lineSelectEnd); 174.240+ 174.241+ } 174.242+ 174.243+ buttonsAddEventListener(lineSelectStart); 174.244+ 174.245+ //** return a <div id="followlines"> and inner cancel <button> elements */ 174.246+ function followlinesBox(targetUri, fromline, toline, isHead) { 174.247+ // <div id="followlines"> 174.248+ var div = document.createElement('div'); 174.249+ div.id = 'followlines'; 174.250+ 174.251+ // <div class="followlines-cancel"> 174.252+ var buttonDiv = document.createElement('div'); 174.253+ buttonDiv.classList.add('followlines-cancel'); 174.254+ 174.255+ // <button>x</button> 174.256+ var button = document.createElement('button'); 174.257+ button.textContent = 'x'; 174.258+ buttonDiv.appendChild(button); 174.259+ div.appendChild(buttonDiv); 174.260+ 174.261+ // <div class="followlines-link"> 174.262+ var aDiv = document.createElement('div'); 174.263+ aDiv.classList.add('followlines-link'); 174.264+ aDiv.textContent = 'follow history of lines ' + fromline + ':' + toline + ':'; 174.265+ var linesep = document.createElement('br'); 174.266+ aDiv.appendChild(linesep); 174.267+ // link to "ascending" followlines 174.268+ var aAsc = document.createElement('a'); 174.269+ var url = targetUri + '?patch=&linerange=' + fromline + ':' + toline; 174.270+ aAsc.setAttribute('href', url); 174.271+ aAsc.textContent = 'older'; 174.272+ aDiv.appendChild(aAsc); 174.273+ 174.274+ if (!isHead) { 174.275+ var sep = document.createTextNode(' / '); 174.276+ aDiv.appendChild(sep); 174.277+ // link to "descending" followlines 174.278+ var aDesc = document.createElement('a'); 174.279+ aDesc.setAttribute('href', url + '&descend='); 174.280+ aDesc.textContent = 'newer'; 174.281+ aDiv.appendChild(aDesc); 174.282+ } 174.283+ 174.284+ div.appendChild(aDiv); 174.285+ 174.286+ return [div, button]; 174.287+ } 174.288+ 174.289+}, false);
175.1Binary file templates/static/hgicon.png has changed
176.1Binary file templates/static/hglogo.png has changed
177.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 177.2+++ b/templates/static/mercurial.js Sat Jul 20 22:31:54 2024 -0400 177.3@@ -0,0 +1,580 @@ 177.4+// mercurial.js - JavaScript utility functions 177.5+// 177.6+// Rendering of branch DAGs on the client side 177.7+// Display of elapsed time 177.8+// Show or hide diffstat 177.9+// 177.10+// Copyright 2008 Dirkjan Ochtman <dirkjan AT ochtman DOT nl> 177.11+// Copyright 2006 Alexander Schremmer <alex AT alexanderweb DOT de> 177.12+// 177.13+// derived from code written by Scott James Remnant <scott@ubuntu.com> 177.14+// Copyright 2005 Canonical Ltd. 177.15+// 177.16+// This software may be used and distributed according to the terms 177.17+// of the GNU General Public License, incorporated herein by reference. 177.18+ 177.19+var colors = [ 177.20+ [ 1.0, 0.0, 0.0 ], 177.21+ [ 1.0, 1.0, 0.0 ], 177.22+ [ 0.0, 1.0, 0.0 ], 177.23+ [ 0.0, 1.0, 1.0 ], 177.24+ [ 0.0, 0.0, 1.0 ], 177.25+ [ 1.0, 0.0, 1.0 ] 177.26+]; 177.27+ 177.28+function Graph() { 177.29+ 177.30+ this.canvas = document.getElementById('graph'); 177.31+ this.ctx = this.canvas.getContext('2d'); 177.32+ this.ctx.strokeStyle = 'rgb(0, 0, 0)'; 177.33+ this.ctx.fillStyle = 'rgb(0, 0, 0)'; 177.34+ this.bg = [0, 4]; 177.35+ this.cell = [2, 0]; 177.36+ this.columns = 0; 177.37+ 177.38+} 177.39+ 177.40+Graph.prototype = { 177.41+ reset: function() { 177.42+ this.bg = [0, 4]; 177.43+ this.cell = [2, 0]; 177.44+ this.columns = 0; 177.45+ }, 177.46+ 177.47+ scale: function(height) { 177.48+ this.bg_height = height; 177.49+ this.box_size = Math.floor(this.bg_height / 1.2); 177.50+ this.cell_height = this.box_size; 177.51+ }, 177.52+ 177.53+ setColor: function(color, bg, fg) { 177.54+ 177.55+ // Set the colour. 177.56+ // 177.57+ // If color is a string, expect an hexadecimal RGB 177.58+ // value and apply it unchanged. If color is a number, 177.59+ // pick a distinct colour based on an internal wheel; 177.60+ // the bg parameter provides the value that should be 177.61+ // assigned to the 'zero' colours and the fg parameter 177.62+ // provides the multiplier that should be applied to 177.63+ // the foreground colours. 177.64+ var s; 177.65+ if(typeof color === "string") { 177.66+ s = "#" + color; 177.67+ } else { //typeof color === "number" 177.68+ color %= colors.length; 177.69+ var red = (colors[color][0] * fg) || bg; 177.70+ var green = (colors[color][1] * fg) || bg; 177.71+ var blue = (colors[color][2] * fg) || bg; 177.72+ red = Math.round(red * 255); 177.73+ green = Math.round(green * 255); 177.74+ blue = Math.round(blue * 255); 177.75+ s = 'rgb(' + red + ', ' + green + ', ' + blue + ')'; 177.76+ } 177.77+ this.ctx.strokeStyle = s; 177.78+ this.ctx.fillStyle = s; 177.79+ return s; 177.80+ 177.81+ }, 177.82+ 177.83+ edge: function(x0, y0, x1, y1, color, width) { 177.84+ 177.85+ this.setColor(color, 0.0, 0.65); 177.86+ if(width >= 0) 177.87+ this.ctx.lineWidth = width; 177.88+ this.ctx.beginPath(); 177.89+ this.ctx.moveTo(x0, y0); 177.90+ this.ctx.lineTo(x1, y1); 177.91+ this.ctx.stroke(); 177.92+ 177.93+ }, 177.94+ 177.95+ graphNodeCurrent: function(x, y, radius) { 177.96+ this.ctx.lineWidth = 2; 177.97+ this.ctx.beginPath(); 177.98+ this.ctx.arc(x, y, radius * 1.75, 0, Math.PI * 2, true); 177.99+ this.ctx.stroke(); 177.100+ }, 177.101+ 177.102+ graphNodeClosing: function(x, y, radius) { 177.103+ this.ctx.fillRect(x - radius, y - 1.5, radius * 2, 3); 177.104+ }, 177.105+ 177.106+ graphNodeUnstable: function(x, y, radius) { 177.107+ var x30 = radius * Math.cos(Math.PI / 6); 177.108+ var y30 = radius * Math.sin(Math.PI / 6); 177.109+ this.ctx.lineWidth = 2; 177.110+ this.ctx.beginPath(); 177.111+ this.ctx.moveTo(x, y - radius); 177.112+ this.ctx.lineTo(x, y + radius); 177.113+ this.ctx.moveTo(x - x30, y - y30); 177.114+ this.ctx.lineTo(x + x30, y + y30); 177.115+ this.ctx.moveTo(x - x30, y + y30); 177.116+ this.ctx.lineTo(x + x30, y - y30); 177.117+ this.ctx.stroke(); 177.118+ }, 177.119+ 177.120+ graphNodeObsolete: function(x, y, radius) { 177.121+ var p45 = radius * Math.cos(Math.PI / 4); 177.122+ this.ctx.lineWidth = 3; 177.123+ this.ctx.beginPath(); 177.124+ this.ctx.moveTo(x - p45, y - p45); 177.125+ this.ctx.lineTo(x + p45, y + p45); 177.126+ this.ctx.moveTo(x - p45, y + p45); 177.127+ this.ctx.lineTo(x + p45, y - p45); 177.128+ this.ctx.stroke(); 177.129+ }, 177.130+ 177.131+ graphNodeNormal: function(x, y, radius) { 177.132+ this.ctx.beginPath(); 177.133+ this.ctx.arc(x, y, radius, 0, Math.PI * 2, true); 177.134+ this.ctx.fill(); 177.135+ }, 177.136+ 177.137+ vertex: function(x, y, radius, color, parity, cur) { 177.138+ this.ctx.save(); 177.139+ this.setColor(color, 0.25, 0.75); 177.140+ if (cur.graphnode[0] === '@') { 177.141+ this.graphNodeCurrent(x, y, radius); 177.142+ } 177.143+ switch (cur.graphnode.substr(-1)) { 177.144+ case '_': 177.145+ this.graphNodeClosing(x, y, radius); 177.146+ break; 177.147+ case '*': 177.148+ this.graphNodeUnstable(x, y, radius); 177.149+ break; 177.150+ case 'x': 177.151+ this.graphNodeObsolete(x, y, radius); 177.152+ break; 177.153+ default: 177.154+ this.graphNodeNormal(x, y, radius); 177.155+ } 177.156+ this.ctx.restore(); 177.157+ 177.158+ var left = (this.bg_height - this.box_size) + (this.columns + 1) * this.box_size; 177.159+ var item = document.querySelector('[data-node="' + cur.node + '"]'); 177.160+ if (item) { 177.161+ item.style.paddingLeft = left + 'px'; 177.162+ } 177.163+ }, 177.164+ 177.165+ render: function(data) { 177.166+ 177.167+ var i, j, cur, line, start, end, color, x, y, x0, y0, x1, y1, column, radius; 177.168+ 177.169+ var cols = 0; 177.170+ for (i = 0; i < data.length; i++) { 177.171+ cur = data[i]; 177.172+ for (j = 0; j < cur.edges.length; j++) { 177.173+ line = cur.edges[j]; 177.174+ cols = Math.max(cols, line[0], line[1]); 177.175+ } 177.176+ } 177.177+ this.canvas.width = (cols + 1) * this.bg_height; 177.178+ this.canvas.height = (data.length + 1) * this.bg_height - 27; 177.179+ 177.180+ for (i = 0; i < data.length; i++) { 177.181+ 177.182+ var parity = i % 2; 177.183+ this.cell[1] += this.bg_height; 177.184+ this.bg[1] += this.bg_height; 177.185+ 177.186+ cur = data[i]; 177.187+ var fold = false; 177.188+ 177.189+ var prevWidth = this.ctx.lineWidth; 177.190+ for (j = 0; j < cur.edges.length; j++) { 177.191+ 177.192+ line = cur.edges[j]; 177.193+ start = line[0]; 177.194+ end = line[1]; 177.195+ color = line[2]; 177.196+ var width = line[3]; 177.197+ if(width < 0) 177.198+ width = prevWidth; 177.199+ var branchcolor = line[4]; 177.200+ if(branchcolor) 177.201+ color = branchcolor; 177.202+ 177.203+ if (end > this.columns || start > this.columns) { 177.204+ this.columns += 1; 177.205+ } 177.206+ 177.207+ if (start === this.columns && start > end) { 177.208+ fold = true; 177.209+ } 177.210+ 177.211+ x0 = this.cell[0] + this.box_size * start + this.box_size / 2; 177.212+ y0 = this.bg[1] - this.bg_height / 2; 177.213+ x1 = this.cell[0] + this.box_size * end + this.box_size / 2; 177.214+ y1 = this.bg[1] + this.bg_height / 2; 177.215+ 177.216+ this.edge(x0, y0, x1, y1, color, width); 177.217+ 177.218+ } 177.219+ this.ctx.lineWidth = prevWidth; 177.220+ 177.221+ // Draw the revision node in the right column 177.222+ 177.223+ column = cur.vertex[0]; 177.224+ color = cur.vertex[1]; 177.225+ 177.226+ radius = this.box_size / 8; 177.227+ x = this.cell[0] + this.box_size * column + this.box_size / 2; 177.228+ y = this.bg[1] - this.bg_height / 2; 177.229+ this.vertex(x, y, radius, color, parity, cur); 177.230+ 177.231+ if (fold) this.columns -= 1; 177.232+ 177.233+ } 177.234+ 177.235+ } 177.236+ 177.237+}; 177.238+ 177.239+ 177.240+function process_dates(parentSelector){ 177.241+ 177.242+ // derived from code from mercurial/templatefilter.py 177.243+ 177.244+ var scales = { 177.245+ 'year': 365 * 24 * 60 * 60, 177.246+ 'month': 30 * 24 * 60 * 60, 177.247+ 'week': 7 * 24 * 60 * 60, 177.248+ 'day': 24 * 60 * 60, 177.249+ 'hour': 60 * 60, 177.250+ 'minute': 60, 177.251+ 'second': 1 177.252+ }; 177.253+ 177.254+ function format(count, string){ 177.255+ var ret = count + ' ' + string; 177.256+ if (count > 1){ 177.257+ ret = ret + 's'; 177.258+ } 177.259+ return ret; 177.260+ } 177.261+ 177.262+ function shortdate(date){ 177.263+ var ret = date.getFullYear() + '-'; 177.264+ // getMonth() gives a 0-11 result 177.265+ var month = date.getMonth() + 1; 177.266+ if (month <= 9){ 177.267+ ret += '0' + month; 177.268+ } else { 177.269+ ret += month; 177.270+ } 177.271+ ret += '-'; 177.272+ var day = date.getDate(); 177.273+ if (day <= 9){ 177.274+ ret += '0' + day; 177.275+ } else { 177.276+ ret += day; 177.277+ } 177.278+ return ret; 177.279+ } 177.280+ 177.281+ function age(datestr){ 177.282+ var now = new Date(); 177.283+ var once = new Date(datestr); 177.284+ if (isNaN(once.getTime())){ 177.285+ // parsing error 177.286+ return datestr; 177.287+ } 177.288+ 177.289+ var delta = Math.floor((now.getTime() - once.getTime()) / 1000); 177.290+ 177.291+ var future = false; 177.292+ if (delta < 0){ 177.293+ future = true; 177.294+ delta = -delta; 177.295+ if (delta > (30 * scales.year)){ 177.296+ return "in the distant future"; 177.297+ } 177.298+ } 177.299+ 177.300+ if (delta > (2 * scales.year)){ 177.301+ return shortdate(once); 177.302+ } 177.303+ 177.304+ for (var unit in scales){ 177.305+ if (!scales.hasOwnProperty(unit)) { continue; } 177.306+ var s = scales[unit]; 177.307+ var n = Math.floor(delta / s); 177.308+ if ((n >= 2) || (s === 1)){ 177.309+ if (future){ 177.310+ return format(n, unit) + ' from now'; 177.311+ } else { 177.312+ return format(n, unit) + ' ago'; 177.313+ } 177.314+ } 177.315+ } 177.316+ } 177.317+ 177.318+ var nodes = document.querySelectorAll((parentSelector || '') + ' .age'); 177.319+ var dateclass = new RegExp('\\bdate\\b'); 177.320+ for (var i=0; i<nodes.length; ++i){ 177.321+ var node = nodes[i]; 177.322+ var classes = node.className; 177.323+ var agevalue = age(node.textContent); 177.324+ if (dateclass.test(classes)){ 177.325+ // We want both: date + (age) 177.326+ node.textContent += ' ('+agevalue+')'; 177.327+ } else { 177.328+ node.title = node.textContent; 177.329+ node.textContent = agevalue; 177.330+ } 177.331+ } 177.332+} 177.333+ 177.334+function toggleDiffstat(event) { 177.335+ var curdetails = document.getElementById('diffstatdetails').style.display; 177.336+ var curexpand = curdetails === 'none' ? 'inline' : 'none'; 177.337+ document.getElementById('diffstatdetails').style.display = curexpand; 177.338+ document.getElementById('diffstatexpand').style.display = curdetails; 177.339+ event.preventDefault(); 177.340+} 177.341+ 177.342+function toggleLinewrap(event) { 177.343+ function getLinewrap() { 177.344+ var nodes = document.getElementsByClassName('sourcelines'); 177.345+ // if there are no such nodes, error is thrown here 177.346+ return nodes[0].classList.contains('wrap'); 177.347+ } 177.348+ 177.349+ function setLinewrap(enable) { 177.350+ var nodes = document.getElementsByClassName('sourcelines'); 177.351+ var i; 177.352+ for (i = 0; i < nodes.length; i++) { 177.353+ if (enable) { 177.354+ nodes[i].classList.add('wrap'); 177.355+ } else { 177.356+ nodes[i].classList.remove('wrap'); 177.357+ } 177.358+ } 177.359+ 177.360+ var links = document.getElementsByClassName('linewraplink'); 177.361+ for (i = 0; i < links.length; i++) { 177.362+ links[i].innerHTML = enable ? 'on' : 'off'; 177.363+ } 177.364+ } 177.365+ 177.366+ setLinewrap(!getLinewrap()); 177.367+ event.preventDefault(); 177.368+} 177.369+ 177.370+function format(str, replacements) { 177.371+ return str.replace(/%(\w+)%/g, function(match, p1) { 177.372+ return String(replacements[p1]); 177.373+ }); 177.374+} 177.375+ 177.376+function makeRequest(url, method, onstart, onsuccess, onerror, oncomplete) { 177.377+ var xhr = new XMLHttpRequest(); 177.378+ xhr.onreadystatechange = function() { 177.379+ if (xhr.readyState === 4) { 177.380+ try { 177.381+ if (xhr.status === 200) { 177.382+ onsuccess(xhr.responseText); 177.383+ } else { 177.384+ throw 'server error'; 177.385+ } 177.386+ } catch (e) { 177.387+ onerror(e); 177.388+ } finally { 177.389+ oncomplete(); 177.390+ } 177.391+ } 177.392+ }; 177.393+ 177.394+ xhr.open(method, url); 177.395+ xhr.overrideMimeType("text/xhtml; charset=" + document.characterSet.toLowerCase()); 177.396+ xhr.send(); 177.397+ onstart(); 177.398+ return xhr; 177.399+} 177.400+ 177.401+function removeByClassName(className) { 177.402+ var nodes = document.getElementsByClassName(className); 177.403+ while (nodes.length) { 177.404+ nodes[0].parentNode.removeChild(nodes[0]); 177.405+ } 177.406+} 177.407+ 177.408+function docFromHTML(html) { 177.409+ var doc = document.implementation.createHTMLDocument(''); 177.410+ doc.documentElement.innerHTML = html; 177.411+ return doc; 177.412+} 177.413+ 177.414+function appendFormatHTML(element, formatStr, replacements) { 177.415+ element.insertAdjacentHTML('beforeend', format(formatStr, replacements)); 177.416+} 177.417+ 177.418+function adoptChildren(from, to) { 177.419+ var nodes = from.children; 177.420+ var curClass = 'c' + Date.now(); 177.421+ while (nodes.length) { 177.422+ var node = nodes[0]; 177.423+ node = document.adoptNode(node); 177.424+ node.classList.add(curClass); 177.425+ to.appendChild(node); 177.426+ } 177.427+ process_dates('.' + curClass); 177.428+} 177.429+ 177.430+function ajaxScrollInit(urlFormat, 177.431+ nextPageVar, 177.432+ nextPageVarGet, 177.433+ containerSelector, 177.434+ messageFormat, 177.435+ mode) { 177.436+ var updateInitiated = false; 177.437+ var container = document.querySelector(containerSelector); 177.438+ 177.439+ function scrollHandler() { 177.440+ if (updateInitiated) { 177.441+ return; 177.442+ } 177.443+ 177.444+ var scrollHeight = document.documentElement.scrollHeight; 177.445+ var clientHeight = document.documentElement.clientHeight; 177.446+ var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; 177.447+ 177.448+ if (scrollHeight - (scrollTop + clientHeight) < 50) { 177.449+ updateInitiated = true; 177.450+ removeByClassName('scroll-loading-error'); 177.451+ container.lastElementChild.classList.add('scroll-separator'); 177.452+ 177.453+ if (!nextPageVar) { 177.454+ var message = { 177.455+ 'class': 'scroll-loading-info', 177.456+ text: 'No more entries' 177.457+ }; 177.458+ appendFormatHTML(container, messageFormat, message); 177.459+ return; 177.460+ } 177.461+ 177.462+ makeRequest( 177.463+ format(urlFormat, {next: nextPageVar}), 177.464+ 'GET', 177.465+ function onstart() { 177.466+ var message = { 177.467+ 'class': 'scroll-loading', 177.468+ text: 'Loading...' 177.469+ }; 177.470+ appendFormatHTML(container, messageFormat, message); 177.471+ }, 177.472+ function onsuccess(htmlText) { 177.473+ var doc = docFromHTML(htmlText); 177.474+ 177.475+ if (mode === 'graph') { 177.476+ var graph = window.graph; 177.477+ var dataStr = htmlText.match(/^\s*var data = (.*);$/m)[1]; 177.478+ var data = JSON.parse(dataStr); 177.479+ graph.reset(); 177.480+ adoptChildren(doc.querySelector('#graphnodes'), container.querySelector('#graphnodes')); 177.481+ graph.render(data); 177.482+ } else { 177.483+ adoptChildren(doc.querySelector(containerSelector), container); 177.484+ } 177.485+ 177.486+ nextPageVar = nextPageVarGet(htmlText); 177.487+ }, 177.488+ function onerror(errorText) { 177.489+ var message = { 177.490+ 'class': 'scroll-loading-error', 177.491+ text: 'Error: ' + errorText 177.492+ }; 177.493+ appendFormatHTML(container, messageFormat, message); 177.494+ }, 177.495+ function oncomplete() { 177.496+ removeByClassName('scroll-loading'); 177.497+ updateInitiated = false; 177.498+ scrollHandler(); 177.499+ } 177.500+ ); 177.501+ } 177.502+ } 177.503+ 177.504+ window.addEventListener('scroll', scrollHandler); 177.505+ window.addEventListener('resize', scrollHandler); 177.506+ scrollHandler(); 177.507+} 177.508+ 177.509+function renderDiffOptsForm() { 177.510+ // We use URLSearchParams for query string manipulation. Old browsers don't 177.511+ // support this API. 177.512+ if (!("URLSearchParams" in window)) { 177.513+ return; 177.514+ } 177.515+ 177.516+ var form = document.getElementById("diffopts-form"); 177.517+ 177.518+ var KEYS = [ 177.519+ "ignorews", 177.520+ "ignorewsamount", 177.521+ "ignorewseol", 177.522+ "ignoreblanklines", 177.523+ ]; 177.524+ 177.525+ var urlParams = new window.URLSearchParams(window.location.search); 177.526+ 177.527+ function updateAndRefresh(e) { 177.528+ var checkbox = e.target; 177.529+ var name = checkbox.id.substr(0, checkbox.id.indexOf("-")); 177.530+ urlParams.set(name, checkbox.checked ? "1" : "0"); 177.531+ window.location.search = urlParams.toString(); 177.532+ } 177.533+ 177.534+ var allChecked = form.getAttribute("data-ignorews") === "1"; 177.535+ 177.536+ for (var i = 0; i < KEYS.length; i++) { 177.537+ var key = KEYS[i]; 177.538+ 177.539+ var checkbox = document.getElementById(key + "-checkbox"); 177.540+ if (!checkbox) { 177.541+ continue; 177.542+ } 177.543+ 177.544+ var currentValue = form.getAttribute("data-" + key); 177.545+ checkbox.checked = currentValue !== "0"; 177.546+ 177.547+ // ignorews implies ignorewsamount and ignorewseol. 177.548+ if (allChecked && (key === "ignorewsamount" || key === "ignorewseol")) { 177.549+ checkbox.checked = true; 177.550+ checkbox.disabled = true; 177.551+ } 177.552+ 177.553+ checkbox.addEventListener("change", updateAndRefresh, false); 177.554+ } 177.555+ 177.556+ form.style.display = 'block'; 177.557+} 177.558+ 177.559+function addDiffStatToggle() { 177.560+ var els = document.getElementsByClassName("diffstattoggle"); 177.561+ 177.562+ for (var i = 0; i < els.length; i++) { 177.563+ els[i].addEventListener("click", toggleDiffstat, false); 177.564+ } 177.565+} 177.566+ 177.567+function addLineWrapToggle() { 177.568+ var els = document.getElementsByClassName("linewraptoggle"); 177.569+ 177.570+ for (var i = 0; i < els.length; i++) { 177.571+ var nodes = els[i].getElementsByClassName("linewraplink"); 177.572+ 177.573+ for (var j = 0; j < nodes.length; j++) { 177.574+ nodes[j].addEventListener("click", toggleLinewrap, false); 177.575+ } 177.576+ } 177.577+} 177.578+ 177.579+document.addEventListener('DOMContentLoaded', function() { 177.580+ process_dates(); 177.581+ addDiffStatToggle(); 177.582+ addLineWrapToggle(); 177.583+}, false);
178.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 178.2+++ b/templates/static/style-extra-coal.css Sat Jul 20 22:31:54 2024 -0400 178.3@@ -0,0 +1,46 @@ 178.4+body { 178.5+ background: black url('background.png') repeat-x; 178.6+} 178.7+ 178.8+.container { 178.9+ padding-left: 0; 178.10+ padding-right: 150px; 178.11+} 178.12+ 178.13+.main { 178.14+ padding: 2em; 178.15+ border-right: 15px solid black; 178.16+ border-bottom: 15px solid black; 178.17+} 178.18+ 178.19+.menu { 178.20+ background: #999; 178.21+ padding: 10px; 178.22+ width: 75px; 178.23+ position: fixed; 178.24+ top: 27px; 178.25+ left: auto; 178.26+ right: 27px; 178.27+} 178.28+ 178.29+.menu ul { 178.30+ border-left: 0; 178.31+} 178.32+ 178.33+.menu li.active { 178.34+ font-weight: normal; 178.35+ background: black; 178.36+ color: white; 178.37+} 178.38+ 178.39+.menu li.active a { 178.40+ color: white; 178.41+} 178.42+ 178.43+h3 { 178.44+ margin-top: -.7em; 178.45+} 178.46+ 178.47+div.description { 178.48+ border-left-width: 3px; 178.49+}
179.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 179.2+++ b/templates/static/style-gitweb.css Sat Jul 20 22:31:54 2024 -0400 179.3@@ -0,0 +1,389 @@ 179.4+body { font-family: sans-serif; font-size: 12px; border:solid #d9d8d1; border-width:1px; margin:10px; background: white; color: black; } 179.5+a { color:#0000cc; } 179.6+a:hover, a:visited, a:active { color:#880000; } 179.7+div.page_header { height:25px; padding:8px; font-size:18px; font-weight:bold; background-color:#d9d8d1; } 179.8+div.page_header a:visited { color:#0000cc; } 179.9+div.page_header a:hover { color:#880000; } 179.10+div.page_nav { 179.11+ padding:8px; 179.12+ display: flex; 179.13+ justify-content: space-between; 179.14+ align-items: center; 179.15+} 179.16+div.page_nav a:visited { color:#0000cc; } 179.17+div.extra_nav { 179.18+ padding: 8px; 179.19+} 179.20+div.extra_nav a:visited { 179.21+ color: #0000cc; 179.22+} 179.23+div.page_path { padding:8px; border:solid #d9d8d1; border-width:0px 0px 1px} 179.24+div.page_footer { padding:4px 8px; background-color: #d9d8d1; } 179.25+div.page_footer_text { float:left; color:#555555; font-style:italic; } 179.26+div.page_body { padding:8px; } 179.27+div.title, a.title { 179.28+ display:block; padding:6px 8px; 179.29+ font-weight:bold; background-color:#edece6; text-decoration:none; color:#000000; 179.30+} 179.31+a.title:hover { background-color: #d9d8d1; } 179.32+div.title_text { padding:6px 0px; border: solid #d9d8d1; border-width:0px 0px 1px; } 179.33+div.log_body { padding:8px 8px 8px 150px; } 179.34+.age { white-space:nowrap; } 179.35+a.title span.age { position:relative; float:left; width:142px; font-style:italic; } 179.36+div.log_link { 179.37+ padding:0px 8px; 179.38+ font-size:10px; font-family:sans-serif; font-style:normal; 179.39+ position:relative; float:left; width:136px; 179.40+} 179.41+div.list_head { padding:6px 8px 4px; border:solid #d9d8d1; border-width:1px 0px 0px; font-style:italic; } 179.42+a.list { text-decoration:none; color:#000000; } 179.43+a.list:hover { text-decoration:underline; color:#880000; } 179.44+table { padding:8px 4px; } 179.45+th { padding:2px 5px; font-size:12px; text-align:left; } 179.46+.parity0 { background-color:#ffffff; } 179.47+tr.dark, .parity1, pre.sourcelines.stripes > :nth-child(4n+4) { background-color:#f6f6f0; } 179.48+tr.light:hover, .parity0:hover, tr.dark:hover, .parity1:hover, 179.49+pre.sourcelines.stripes > :nth-child(4n+2):hover, 179.50+pre.sourcelines.stripes > :nth-child(4n+4):hover, 179.51+pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2), 179.52+pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color:#edece6; } 179.53+td { padding:2px 5px; font-size:12px; vertical-align:top; } 179.54+td.closed { background-color: #99f; } 179.55+td.link { padding:2px 5px; font-family:sans-serif; font-size:10px; } 179.56+td.indexlinks { white-space: nowrap; } 179.57+td.indexlinks a { 179.58+ padding: 2px 5px; line-height: 10px; 179.59+ border: 1px solid; 179.60+ color: #ffffff; background-color: #7777bb; 179.61+ border-color: #aaaadd #333366 #333366 #aaaadd; 179.62+ font-weight: bold; text-align: center; text-decoration: none; 179.63+ font-size: 10px; 179.64+} 179.65+td.indexlinks a:hover { background-color: #6666aa; } 179.66+div.pre { font-family:monospace; font-size:12px; white-space:pre; } 179.67+ 179.68+.search { 179.69+ margin-right: 8px; 179.70+} 179.71+ 179.72+div#hint { 179.73+ position: absolute; 179.74+ display: none; 179.75+ width: 250px; 179.76+ padding: 5px; 179.77+ background: #ffc; 179.78+ border: 1px solid yellow; 179.79+ border-radius: 5px; 179.80+ z-index: 15; 179.81+} 179.82+ 179.83+#searchform:hover div#hint { display: block; } 179.84+ 179.85+tr.thisrev a { color:#999999; text-decoration: none; } 179.86+tr.thisrev pre { color:#009900; } 179.87+td.annotate { 179.88+ white-space: nowrap; 179.89+} 179.90+div.annotate-info { 179.91+ z-index: 5; 179.92+ display: none; 179.93+ position: absolute; 179.94+ background-color: #FFFFFF; 179.95+ border: 1px solid #d9d8d1; 179.96+ text-align: left; 179.97+ color: #000000; 179.98+ padding: 5px; 179.99+} 179.100+div.annotate-info a { color: #0000FF; text-decoration: underline; } 179.101+td.annotate:hover div.annotate-info { display: inline; } 179.102+ 179.103+#diffopts-form { 179.104+ padding-left: 8px; 179.105+ display: none; 179.106+} 179.107+ 179.108+.linenr { color:#999999; text-decoration:none } 179.109+div.rss_logo { float: right; white-space: nowrap; } 179.110+div.rss_logo a { 179.111+ padding:3px 6px; line-height:10px; 179.112+ border:1px solid; border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e; 179.113+ color:#ffffff; background-color:#ff6600; 179.114+ font-weight:bold; font-family:sans-serif; font-size:10px; 179.115+ text-align:center; text-decoration:none; 179.116+} 179.117+div.rss_logo a:hover { background-color:#ee5500; } 179.118+pre { margin: 0; } 179.119+span.logtags span { 179.120+ padding: 0px 4px; 179.121+ font-size: 10px; 179.122+ font-weight: normal; 179.123+ border: 1px solid; 179.124+ background-color: #ffaaff; 179.125+ border-color: #ffccff #ff00ee #ff00ee #ffccff; 179.126+} 179.127+span.logtags span.phasetag { 179.128+ background-color: #dfafff; 179.129+ border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff; 179.130+} 179.131+span.logtags span.obsoletetag { 179.132+ background-color: #dddddd; 179.133+ border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4; 179.134+} 179.135+span.logtags span.instabilitytag { 179.136+ background-color: #ffb1c0; 179.137+ border-color: #ffbbc8 #ff4476 #ff4476 #ffbbc8; 179.138+} 179.139+span.logtags span.tagtag { 179.140+ background-color: #ffffaa; 179.141+ border-color: #ffffcc #ffee00 #ffee00 #ffffcc; 179.142+} 179.143+span.logtags span.branchtag { 179.144+ background-color: #aaffaa; 179.145+ border-color: #ccffcc #00cc33 #00cc33 #ccffcc; 179.146+} 179.147+span.logtags span.inbranchtag { 179.148+ background-color: #d5dde6; 179.149+ border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4; 179.150+} 179.151+span.logtags span.bookmarktag { 179.152+ background-color: #afdffa; 179.153+ border-color: #ccecff #46ace6 #46ace6 #ccecff; 179.154+} 179.155+span.difflineplus { color:#008800; } 179.156+span.difflineminus { color:#cc0000; } 179.157+span.difflineat { color:#990099; } 179.158+div.diffblocks { counter-reset: lineno; } 179.159+div.diffblock { counter-increment: lineno; } 179.160+pre.sourcelines { position: relative; counter-reset: lineno; } 179.161+pre.sourcelines > span { 179.162+ display: inline-block; 179.163+ box-sizing: border-box; 179.164+ width: 100%; 179.165+ padding: 0 0 0 5em; 179.166+ counter-increment: lineno; 179.167+ vertical-align: top; 179.168+} 179.169+pre.sourcelines > span:before { 179.170+ -moz-user-select: -moz-none; 179.171+ -khtml-user-select: none; 179.172+ -webkit-user-select: none; 179.173+ -ms-user-select: none; 179.174+ user-select: none; 179.175+ display: inline-block; 179.176+ margin-left: -6em; 179.177+ width: 4em; 179.178+ color: #999; 179.179+ text-align: right; 179.180+ content: counters(lineno,"."); 179.181+ float: left; 179.182+} 179.183+pre.sourcelines > a { 179.184+ display: inline-block; 179.185+ position: absolute; 179.186+ left: 0px; 179.187+ width: 4em; 179.188+ height: 1em; 179.189+} 179.190+tr:target td, 179.191+pre.sourcelines > span:target, 179.192+pre.sourcelines.stripes > span:target { 179.193+ background-color: #bfdfff; 179.194+} 179.195+ 179.196+.description { 179.197+ font-family: monospace; 179.198+ white-space: pre; 179.199+} 179.200+ 179.201+/* Followlines */ 179.202+tbody.sourcelines > tr.followlines-selected, 179.203+pre.sourcelines > span.followlines-selected { 179.204+ background-color: #99C7E9 !important; 179.205+} 179.206+ 179.207+div#followlines { 179.208+ background-color: #FFF; 179.209+ border: 1px solid #d9d8d1; 179.210+ padding: 5px; 179.211+ position: fixed; 179.212+} 179.213+ 179.214+div.followlines-cancel { 179.215+ text-align: right; 179.216+} 179.217+ 179.218+div.followlines-cancel > button { 179.219+ line-height: 80%; 179.220+ padding: 0; 179.221+ border: 0; 179.222+ border-radius: 2px; 179.223+ background-color: inherit; 179.224+ font-weight: bold; 179.225+} 179.226+ 179.227+div.followlines-cancel > button:hover { 179.228+ color: #FFFFFF; 179.229+ background-color: #CF1F1F; 179.230+} 179.231+ 179.232+div.followlines-link { 179.233+ margin: 2px; 179.234+ margin-top: 4px; 179.235+ font-family: sans-serif; 179.236+} 179.237+ 179.238+.btn-followlines { 179.239+ position: absolute; 179.240+ display: none; 179.241+ cursor: pointer; 179.242+ box-sizing: content-box; 179.243+ font-size: 11px; 179.244+ width: 13px; 179.245+ height: 13px; 179.246+ border-radius: 3px; 179.247+ margin: 0px; 179.248+ margin-top: -2px; 179.249+ padding: 0px; 179.250+ background-color: #E5FDE5; 179.251+ border: 1px solid #9BC19B; 179.252+ font-family: monospace; 179.253+ text-align: center; 179.254+ line-height: 5px; 179.255+} 179.256+ 179.257+span.followlines-select .btn-followlines { 179.258+ margin-left: -1.6em; 179.259+} 179.260+ 179.261+.btn-followlines:hover { 179.262+ transform: scale(1.1, 1.1); 179.263+} 179.264+ 179.265+.btn-followlines .followlines-plus { 179.266+ color: green; 179.267+} 179.268+ 179.269+.btn-followlines .followlines-minus { 179.270+ color: red; 179.271+} 179.272+ 179.273+.btn-followlines-end { 179.274+ background-color: #ffdcdc; 179.275+} 179.276+ 179.277+.sourcelines tr:hover .btn-followlines, 179.278+.sourcelines span.followlines-select:hover > .btn-followlines { 179.279+ display: inline; 179.280+} 179.281+ 179.282+.btn-followlines-hidden, 179.283+.sourcelines tr:hover .btn-followlines-hidden { 179.284+ display: none; 179.285+} 179.286+ 179.287+/* Graph */ 179.288+div#wrapper { 179.289+ position: relative; 179.290+ margin: 0; 179.291+ padding: 0; 179.292+ margin-top: 3px; 179.293+} 179.294+ 179.295+canvas { 179.296+ position: absolute; 179.297+ z-index: 5; 179.298+ top: -0.9em; 179.299+ margin: 0; 179.300+} 179.301+ 179.302+ul#graphnodes { 179.303+ list-style: none inside none; 179.304+ padding: 0; 179.305+ margin: 0; 179.306+} 179.307+ 179.308+ul#graphnodes li { 179.309+ position: relative; 179.310+ height: 37px; 179.311+ overflow: visible; 179.312+ padding-top: 2px; 179.313+} 179.314+ 179.315+ul#graphnodes li .fg { 179.316+ position: absolute; 179.317+ z-index: 10; 179.318+} 179.319+ 179.320+ul#graphnodes li .info { 179.321+ font-size: 100%; 179.322+ font-style: italic; 179.323+} 179.324+ 179.325+/* Comparison */ 179.326+.legend { 179.327+ padding: 1.5% 0 1.5% 0; 179.328+} 179.329+ 179.330+.legendinfo { 179.331+ border: 1px solid #d9d8d1; 179.332+ font-size: 80%; 179.333+ text-align: center; 179.334+ padding: 0.5%; 179.335+} 179.336+ 179.337+.equal { 179.338+ background-color: #ffffff; 179.339+} 179.340+ 179.341+.delete { 179.342+ background-color: #faa; 179.343+ color: #333; 179.344+} 179.345+ 179.346+.insert { 179.347+ background-color: #ffa; 179.348+} 179.349+ 179.350+.replace { 179.351+ background-color: #e8e8e8; 179.352+} 179.353+ 179.354+.comparison { 179.355+ overflow-x: auto; 179.356+} 179.357+ 179.358+.header th { 179.359+ text-align: center; 179.360+} 179.361+ 179.362+.block { 179.363+ border-top: 1px solid #d9d8d1; 179.364+} 179.365+ 179.366+.scroll-loading { 179.367+ -webkit-animation: change_color 1s linear 0s infinite alternate; 179.368+ -moz-animation: change_color 1s linear 0s infinite alternate; 179.369+ -o-animation: change_color 1s linear 0s infinite alternate; 179.370+ animation: change_color 1s linear 0s infinite alternate; 179.371+} 179.372+ 179.373+@-webkit-keyframes change_color { 179.374+ from { background-color: #A0CEFF; } to { } 179.375+} 179.376+@-moz-keyframes change_color { 179.377+ from { background-color: #A0CEFF; } to { } 179.378+} 179.379+@-o-keyframes change_color { 179.380+ from { background-color: #A0CEFF; } to { } 179.381+} 179.382+@keyframes change_color { 179.383+ from { background-color: #A0CEFF; } to { } 179.384+} 179.385+ 179.386+.scroll-loading-error { 179.387+ background-color: #FFCCCC !important; 179.388+} 179.389+ 179.390+#doc { 179.391+ margin: 0 8px; 179.392+}
180.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 180.2+++ b/templates/static/style-monoblue.css Sat Jul 20 22:31:54 2024 -0400 180.3@@ -0,0 +1,588 @@ 180.4+/*** Initial Settings ***/ 180.5+* { 180.6+ margin: 0; 180.7+ padding: 0; 180.8+ font-weight: normal; 180.9+ font-style: normal; 180.10+} 180.11+ 180.12+html { 180.13+ font-size: 100%; 180.14+ font-family: sans-serif; 180.15+} 180.16+ 180.17+body { 180.18+ font-size: 77%; 180.19+ margin: 15px 50px; 180.20+ background: #4B4B4C; 180.21+} 180.22+ 180.23+a { 180.24+ color:#0000cc; 180.25+ text-decoration: none; 180.26+} 180.27+/*** end of Initial Settings ***/ 180.28+ 180.29+ 180.30+/** common settings **/ 180.31+div#container { 180.32+ background: #FFFFFF; 180.33+ position: relative; 180.34+ color: #666; 180.35+} 180.36+ 180.37+div.page-header { 180.38+ padding: 50px 20px 0; 180.39+ background: #006699 top left repeat-x; 180.40+ position: relative; 180.41+} 180.42+ div.page-header h1 { 180.43+ margin: 10px 0 30px; 180.44+ font-size: 1.8em; 180.45+ font-weight: bold; 180.46+ font-family: osaka,'MS P Gothic', Georgia, serif; 180.47+ letter-spacing: 1px; 180.48+ color: #DDD; 180.49+ } 180.50+ div.page-header h1 a { 180.51+ font-weight: bold; 180.52+ color: #FFF; 180.53+ } 180.54+ div.page-header a { 180.55+ text-decoration: none; 180.56+ } 180.57+ 180.58+ div.page-header form { 180.59+ float: right; 180.60+ margin-top: -2px; 180.61+ } 180.62+ div.page-header form label { 180.63+ color: #DDD; 180.64+ } 180.65+ div.page-header form input { 180.66+ padding: 2px; 180.67+ border: solid 1px #DDD; 180.68+ } 180.69+ div.page-header form dl { 180.70+ overflow: hidden; 180.71+ } 180.72+ div.page-header form dl dt { 180.73+ font-size: 1.2em; 180.74+ } 180.75+ div.page-header form dl dt, 180.76+ div.page-header form dl dd { 180.77+ margin: 0 0 0 5px; 180.78+ float: left; 180.79+ height: 24px; 180.80+ line-height: 20px; 180.81+ } 180.82+ 180.83+ ul.page-nav { 180.84+ margin: 10px 0 0 0; 180.85+ list-style-type: none; 180.86+ overflow: hidden; 180.87+ } 180.88+ ul.page-nav li { 180.89+ margin: 0 2px 0 0; 180.90+ float: left; 180.91+ width: 80px; 180.92+ height: 24px; 180.93+ font-size: 1.1em; 180.94+ line-height: 24px; 180.95+ text-align: center; 180.96+ } 180.97+ ul.page-nav li.current { 180.98+ background: #FFF; 180.99+ } 180.100+ ul.page-nav li a { 180.101+ height: 24px; 180.102+ color: #666; 180.103+ background: #DDD; 180.104+ display: block; 180.105+ text-decoration: none; 180.106+ } 180.107+ ul.page-nav li a:hover { 180.108+ color:#333; 180.109+ background: #FFF; 180.110+ } 180.111+ 180.112+ul.submenu { 180.113+ margin: 10px 0 -10px 20px; 180.114+ list-style-type: none; 180.115+} 180.116+ul.submenu li { 180.117+ margin: 0 10px 0 0; 180.118+ font-size: 1.2em; 180.119+ display: inline; 180.120+} 180.121+ 180.122+h2 { 180.123+ margin: 20px 0 10px; 180.124+ height: 30px; 180.125+ line-height: 30px; 180.126+ text-indent: 20px; 180.127+ background: #FFF; 180.128+ font-size: 1.2em; 180.129+ border-top: dotted 1px #D5E1E6; 180.130+ font-weight: bold; 180.131+} 180.132+h2.no-link { 180.133+ color:#006699; 180.134+} 180.135+h2.no-border { 180.136+ color: #FFF; 180.137+ background: #006699; 180.138+ border: 0; 180.139+} 180.140+h2 a { 180.141+ font-weight:bold; 180.142+ color:#006699; 180.143+} 180.144+ 180.145+div.page-path { 180.146+ text-align: right; 180.147+ padding: 20px 30px 10px 0; 180.148+ border:solid #d9d8d1; 180.149+ border-width:0px 0px 1px; 180.150+ font-size: 1.2em; 180.151+} 180.152+ 180.153+div.page-footer { 180.154+ margin: 50px 0 0; 180.155+ position: relative; 180.156+} 180.157+ div.page-footer p { 180.158+ position: relative; 180.159+ padding-left: 20px; 180.160+ bottom: 5px; 180.161+ font-size: 1.2em; 180.162+ } 180.163+ 180.164+ ul.rss-logo { 180.165+ position: absolute; 180.166+ top: -10px; 180.167+ right: 20px; 180.168+ height: 20px; 180.169+ list-style-type: none; 180.170+ } 180.171+ ul.rss-logo li { 180.172+ display: inline; 180.173+ } 180.174+ ul.rss-logo li a { 180.175+ padding: 3px 6px; 180.176+ line-height: 10px; 180.177+ border:1px solid; 180.178+ border-color:#fcc7a5 #7d3302 #3e1a01 #ff954e; 180.179+ color:#ffffff; 180.180+ background-color:#ff6600; 180.181+ font-weight:bold; 180.182+ font-family:sans-serif; 180.183+ font-size:10px; 180.184+ text-align:center; 180.185+ text-decoration:none; 180.186+ } 180.187+ div.rss-logo li a:hover { 180.188+ background-color:#ee5500; 180.189+ } 180.190+ 180.191+p.normal { 180.192+ margin: 20px 0 20px 30px; 180.193+ font-size: 1.2em; 180.194+} 180.195+ 180.196+table { 180.197+ margin: 10px 0 0 20px; 180.198+ width: 95%; 180.199+ border-collapse: collapse; 180.200+} 180.201+table tr td { 180.202+ font-size: 1.1em; 180.203+} 180.204+table tr td.nowrap { 180.205+ white-space: nowrap; 180.206+} 180.207+table tr td.closed { 180.208+ background-color: #99f; 180.209+} 180.210+/* 180.211+table tr.parity0:hover, 180.212+table tr.parity1:hover { 180.213+ background: #D5E1E6; 180.214+} 180.215+*/ 180.216+table tr.parity0, 180.217+table td.annotate.parity0 { 180.218+ background: #F1F6F7; 180.219+} 180.220+table tr.parity1, 180.221+table td.annotate.parity1 { 180.222+ background: #FFFFFF; 180.223+} 180.224+table tr td { 180.225+ padding: 5px 5px; 180.226+} 180.227+table.annotated tr td { 180.228+ padding: 0px 5px; 180.229+} 180.230+ 180.231+span.logtags span { 180.232+ padding: 2px 6px; 180.233+ font-weight: normal; 180.234+ font-size: 11px; 180.235+ border: 1px solid; 180.236+ background-color: #ffaaff; 180.237+ border-color: #ffccff #ff00ee #ff00ee #ffccff; 180.238+} 180.239+span.logtags span.phasetag { 180.240+ background-color: #dfafff; 180.241+ border-color: #e2b8ff #ce48ff #ce48ff #e2b8ff; 180.242+} 180.243+span.logtags span.obsoletetag { 180.244+ background-color: #dddddd; 180.245+ border-color: #e4e4e4 #a3a3a3 #a3a3a3 #e4e4e4; 180.246+} 180.247+span.logtags span.instabilitytag { 180.248+ background-color: #ffb1c0; 180.249+ border-color: #ffbbc8 #ff4476 #ff4476 #ffbbc8; 180.250+} 180.251+span.logtags span.tagtag { 180.252+ background-color: #ffffaa; 180.253+ border-color: #ffffcc #ffee00 #ffee00 #ffffcc; 180.254+} 180.255+span.logtags span.branchtag { 180.256+ background-color: #aaffaa; 180.257+ border-color: #ccffcc #00cc33 #00cc33 #ccffcc; 180.258+} 180.259+span.logtags span.inbranchtag { 180.260+ background-color: #d5dde6; 180.261+ border-color: #e3ecf4 #9398f4 #9398f4 #e3ecf4; 180.262+} 180.263+span.logtags span.bookmarktag { 180.264+ background-color: #afdffa; 180.265+ border-color: #ccecff #46ace6 #46ace6 #ccecff; 180.266+} 180.267+ 180.268+div.diff pre { 180.269+ margin: 10px 0 0 0; 180.270+} 180.271+div.diff pre span { 180.272+ font-family: monospace; 180.273+ white-space: pre; 180.274+ font-size: 1.2em; 180.275+} 180.276+div.diffblocks { counter-reset: lineno; } 180.277+div.diffblock { counter-increment: lineno; } 180.278+span.difflineplus { color:#008800; } 180.279+span.difflineminus { color:#cc0000; } 180.280+span.difflineat { color:#990099; } 180.281+ 180.282+pre.sourcelines { 180.283+ position: relative; 180.284+ counter-reset: lineno; 180.285+ font-size: 1.2em; 180.286+} 180.287+pre.sourcelines > span { 180.288+ display: inline-block; 180.289+ box-sizing: border-box; 180.290+ width: 100%; 180.291+ padding: 0 0 0 5em; 180.292+ counter-increment: lineno; 180.293+ vertical-align: top; 180.294+} 180.295+div.source > pre.sourcelines > span { 180.296+ padding: 1px 1px 1px 5em; 180.297+} 180.298+pre.sourcelines > span:before { 180.299+ -moz-user-select: -moz-none; 180.300+ -khtml-user-select: none; 180.301+ -webkit-user-select: none; 180.302+ -ms-user-select: none; 180.303+ user-select: none; 180.304+ display: inline-block; 180.305+ margin-left: -5em; 180.306+ width: 4em; 180.307+ color: #999; 180.308+ text-align: right; 180.309+ content: counters(lineno,"."); 180.310+ float: left; 180.311+} 180.312+pre.sourcelines > a { 180.313+ display: inline-block; 180.314+ position: absolute; 180.315+ left: 0px; 180.316+ width: 4em; 180.317+ height: 1em; 180.318+ padding: 0.15em; 180.319+} 180.320+pre.sourcelines.stripes > :nth-child(4n+2) { background-color: #F1F6F7; } 180.321+pre.sourcelines.stripes > :nth-child(4n+4) { background-color: #FFFFFF; } 180.322+pre.sourcelines.stripes > :nth-child(4n+2):hover, 180.323+pre.sourcelines.stripes > :nth-child(4n+4):hover, 180.324+pre.sourcelines.stripes > :nth-child(4n+1):hover + :nth-child(4n+2), 180.325+pre.sourcelines.stripes > :nth-child(4n+3):hover + :nth-child(4n+4) { background-color: #D5E1E6; } 180.326+ 180.327+tr:target td, 180.328+pre.sourcelines > span:target, 180.329+pre.sourcelines.stripes > span:target { 180.330+ background-color: #bfdfff; 180.331+} 180.332+ 180.333+td.source { 180.334+ white-space: pre; 180.335+ margin: 10px 30px 0; 180.336+ font-size: 1.2em; 180.337+ font-family: monospace; 180.338+} 180.339+.linenr { 180.340+ color: #999; 180.341+ text-align: right; 180.342+} 180.343+.lineno { 180.344+ text-align: right; 180.345+} 180.346+.lineno a { 180.347+ color: #999; 180.348+} 180.349+td.linenr { 180.350+ width: 60px; 180.351+} 180.352+tr.thisrev a { color:#999999; text-decoration: none; } 180.353+tr.thisrev td.source { color:#009900; } 180.354+td.annotate { 180.355+ white-space: nowrap; 180.356+} 180.357+div.annotate-info { 180.358+ display: none; 180.359+ position: absolute; 180.360+ background-color: #FFFFFF; 180.361+ border: solid 1px #CCC; 180.362+ text-align: left; 180.363+ color: #666; 180.364+ padding: 5px; 180.365+} 180.366+div.annotate-info a { color: #0000FF; } 180.367+td.annotate:hover div.annotate-info { display: inline; } 180.368+ 180.369+div#powered-by { 180.370+ position: absolute; 180.371+ width: 75px; 180.372+ top: 15px; 180.373+ right: 20px; 180.374+ font-size: 1.2em; 180.375+} 180.376+div#powered-by a { 180.377+ color: #EEE; 180.378+ text-decoration: none; 180.379+} 180.380+div#powered-by a:hover { 180.381+ text-decoration: underline; 180.382+} 180.383+/** end of common settings **/ 180.384+ 180.385+/** summary **/ 180.386+dl.overview { 180.387+ margin: 0 0 0 30px; 180.388+ font-size: 1.1em; 180.389+ overflow: hidden; 180.390+} 180.391+ dl.overview dt, 180.392+ dl.overview dd { 180.393+ margin: 5px 0; 180.394+ float: left; 180.395+ } 180.396+ dl.overview dt { 180.397+ clear: left; 180.398+ font-weight: bold; 180.399+ width: 150px; 180.400+ } 180.401+/** end of summary **/ 180.402+ 180.403+/** chagelog **/ 180.404+h3.changelog { 180.405+ margin: 20px 0 5px 30px; 180.406+ padding: 0 0 2px; 180.407+ font-size: 1.4em; 180.408+ border-bottom: dotted 1px #D5E1E6; 180.409+} 180.410+ul.changelog-entry { 180.411+ margin: 0 0 10px 30px; 180.412+ list-style-type: none; 180.413+ position: relative; 180.414+} 180.415+ul.changelog-entry li span.revdate { 180.416+ font-size: 1.1em; 180.417+} 180.418+ul.changelog-entry li.age { 180.419+ position: absolute; 180.420+ top: -25px; 180.421+ right: 10px; 180.422+ font-size: 1.4em; 180.423+ color: #CCC; 180.424+ font-weight: bold; 180.425+ font-style: italic; 180.426+} 180.427+ul.changelog-entry li span.name { 180.428+ font-size: 1.2em; 180.429+ font-weight: bold; 180.430+} 180.431+ul.changelog-entry li.description { 180.432+ margin: 10px 0 0; 180.433+ font-size: 1.1em; 180.434+} 180.435+/** end of changelog **/ 180.436+ 180.437+/** file **/ 180.438+p.files { 180.439+ margin: 0 0 0 20px; 180.440+ font-size: 2.0em; 180.441+ font-weight: bold; 180.442+} 180.443+/** end of file **/ 180.444+ 180.445+/** changeset **/ 180.446+h3.changeset { 180.447+ margin: 20px 0 5px 20px; 180.448+ padding: 0 0 2px; 180.449+ font-size: 1.6em; 180.450+ border-bottom: dotted 1px #D5E1E6; 180.451+} 180.452+p.changeset-age { 180.453+ position: relative; 180.454+} 180.455+p.changeset-age span { 180.456+ position: absolute; 180.457+ top: -25px; 180.458+ right: 10px; 180.459+ font-size: 1.4em; 180.460+ color: #CCC; 180.461+ font-weight: bold; 180.462+ font-style: italic; 180.463+} 180.464+p.description { 180.465+ margin: 10px 30px 0 30px; 180.466+ padding: 10px; 180.467+ border: solid 1px #CCC; 180.468+ font-size: 1.2em; 180.469+} 180.470+/** end of changeset **/ 180.471+ 180.472+/** canvas **/ 180.473+div#wrapper { 180.474+ position: relative; 180.475+ font-size: 1.1em; 180.476+} 180.477+ 180.478+canvas { 180.479+ position: absolute; 180.480+ z-index: 5; 180.481+ top: -0.7em; 180.482+} 180.483+ 180.484+ul#graphnodes li.parity0 { 180.485+ background: #F1F6F7; 180.486+} 180.487+ 180.488+ul#graphnodes li.parity1 { 180.489+ background: #FFFFFF; 180.490+} 180.491+ 180.492+ul#graphnodes { 180.493+ list-style: none inside none; 180.494+ margin: 0; 180.495+ padding: 0; 180.496+} 180.497+ 180.498+ul#graphnodes li { 180.499+ height: 37px; 180.500+ overflow: visible; 180.501+ padding-top: 2px; 180.502+} 180.503+ 180.504+ul#graphnodes li .fg { 180.505+ position: absolute; 180.506+ z-index: 10; 180.507+} 180.508+ 180.509+ul#graphnodes li .info { 180.510+ margin-top: 2px; 180.511+} 180.512+/** end of canvas **/ 180.513+ 180.514+/** comparison **/ 180.515+.legend { 180.516+ margin-left: 20px; 180.517+ padding: 1.5% 0 1.5% 0; 180.518+} 180.519+ 180.520+.legendinfo { 180.521+ border: 1px solid #999; 180.522+ font-size: 80%; 180.523+ text-align: center; 180.524+ padding: 0.5%; 180.525+} 180.526+ 180.527+.equal { 180.528+ background-color: #ffffff; 180.529+} 180.530+ 180.531+.delete { 180.532+ background-color: #faa; 180.533+ color: #333; 180.534+} 180.535+ 180.536+.insert { 180.537+ background-color: #ffa; 180.538+} 180.539+ 180.540+.replace { 180.541+ background-color: #e8e8e8; 180.542+} 180.543+ 180.544+.comparison { 180.545+ overflow-x: auto; 180.546+} 180.547+ 180.548+.comparison table td { 180.549+ padding: 0px 5px; 180.550+} 180.551+ 180.552+.header th { 180.553+ font-weight: bold; 180.554+} 180.555+ 180.556+.block { 180.557+ border-top: 1px solid #999; 180.558+} 180.559+/** end of comparison **/ 180.560+ 180.561+.breadcrumb a:hover { 180.562+ text-decoration:underline; 180.563+} 180.564+ 180.565+.scroll-loading { 180.566+ -webkit-animation: change_color 1s linear 0s infinite alternate; 180.567+ -moz-animation: change_color 1s linear 0s infinite alternate; 180.568+ -o-animation: change_color 1s linear 0s infinite alternate; 180.569+ animation: change_color 1s linear 0s infinite alternate; 180.570+} 180.571+ 180.572+@-webkit-keyframes change_color { 180.573+ from { background-color: #A0CEFF; } to { } 180.574+} 180.575+@-moz-keyframes change_color { 180.576+ from { background-color: #A0CEFF; } to { } 180.577+} 180.578+@-o-keyframes change_color { 180.579+ from { background-color: #A0CEFF; } to { } 180.580+} 180.581+@keyframes change_color { 180.582+ from { background-color: #A0CEFF; } to { } 180.583+} 180.584+ 180.585+.scroll-loading-error { 180.586+ background-color: #FFCCCC !important; 180.587+} 180.588+ 180.589+#doc { 180.590+ margin: 0 30px; 180.591+}
181.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 181.2+++ b/templates/static/style-paper.css Sat Jul 20 22:31:54 2024 -0400 181.3@@ -0,0 +1,548 @@ 181.4+body { 181.5+ margin: 0; 181.6+ padding: 0; 181.7+ background: white; 181.8+ color: black; 181.9+ font-family: sans-serif; 181.10+} 181.11+ 181.12+.container { 181.13+ padding-left: 115px; 181.14+} 181.15+ 181.16+.main { 181.17+ position: relative; 181.18+ background: white; 181.19+ padding: 2em 2em 2em 0; 181.20+} 181.21+ 181.22+#.main { 181.23+ width: 98%; 181.24+} 181.25+ 181.26+.overflow { 181.27+ width: 100%; 181.28+ overflow: auto; 181.29+} 181.30+ 181.31+.menu { 181.32+ width: 90px; 181.33+ margin: 0; 181.34+ font-size: 80%; 181.35+ text-align: left; 181.36+ position: absolute; 181.37+ top: 20px; 181.38+ left: 20px; 181.39+ right: auto; 181.40+} 181.41+ 181.42+.menu ul { 181.43+ list-style: none; 181.44+ padding: 0; 181.45+ margin: 10px 0 0 0; 181.46+ border-left: 2px solid #999; 181.47+} 181.48+ 181.49+.menu li { 181.50+ margin-bottom: 3px; 181.51+ padding: 2px 4px; 181.52+ background: white; 181.53+ color: black; 181.54+ font-weight: normal; 181.55+} 181.56+ 181.57+.menu li.active { 181.58+ font-weight: bold; 181.59+} 181.60+ 181.61+.menu img { 181.62+ width: 75px; 181.63+ height: 90px; 181.64+ border: 0; 181.65+} 181.66+ 181.67+div.atom-logo { 181.68+ margin-top: 10px; 181.69+} 181.70+ 181.71+.atom-logo img{ 181.72+ width: 14px; 181.73+ height: 14px; 181.74+ border: 0; 181.75+} 181.76+ 181.77+.menu a { color: black; display: block; } 181.78+ 181.79+.search { 181.80+ position: absolute; 181.81+ top: .7em; 181.82+ right: 2em; 181.83+} 181.84+ 181.85+form.search div#hint { 181.86+ display: none; 181.87+ position: absolute; 181.88+ top: 40px; 181.89+ right: 0px; 181.90+ width: 190px; 181.91+ padding: 5px; 181.92+ background: #ffc; 181.93+ font-size: 70%; 181.94+ border: 1px solid yellow; 181.95+ border-radius: 5px; 181.96+ z-index: 15; 181.97+} 181.98+ 181.99+form.search:hover div#hint { display: block; } 181.100+ 181.101+a { text-decoration:none; } 181.102+.age { white-space:nowrap; } 181.103+.date { white-space:nowrap; } 181.104+.indexlinks { white-space:nowrap; } 181.105+.parity0, 181.106+.stripes4 > :nth-child(4n+1), 181.107+.stripes2 > :nth-child(2n+1) { background-color: #f0f0f0; } 181.108+.parity1, 181.109+.stripes4 > :nth-child(4n+3), 181.110+.stripes2 > :nth-child(2n+2) { background-color: white; } 181.111+.plusline { color: green; } 181.112+.minusline { color: #dc143c; } /* crimson */ 181.113+.atline { color: purple; } 181.114+ 181.115+.diffstat-table { 181.116+ margin-top: 1em; 181.117+} 181.118+.diffstat-file { 181.119+ white-space: nowrap; 181.120+ font-size: 90%; 181.121+} 181.122+.diffstat-total { 181.123+ white-space: nowrap; 181.124+ font-size: 90%; 181.125+} 181.126+.diffstat-graph { 181.127+ width: 100%; 181.128+} 181.129+.diffstat-add { 181.130+ background-color: green; 181.131+ float: left; 181.132+} 181.133+.diffstat-remove { 181.134+ background-color: red; 181.135+ float: left; 181.136+} 181.137+ 181.138+.navigate { 181.139+ text-align: right; 181.140+ font-size: 60%; 181.141+ margin: 1em 0; 181.142+} 181.143+ 181.144+.phase { 181.145+ color: #999; 181.146+ font-size: 70%; 181.147+ border-bottom: 1px dotted #999; 181.148+ font-weight: normal; 181.149+ margin-left: .5em; 181.150+ vertical-align: baseline; 181.151+} 181.152+ 181.153+.obsolete { 181.154+ color: #999; 181.155+ font-size: 70%; 181.156+ border-bottom: 1px dashed #999; 181.157+ font-weight: normal; 181.158+ margin-left: .5em; 181.159+ vertical-align: baseline; 181.160+} 181.161+ 181.162+.instability { 181.163+ color: #000; 181.164+ font-size: 70%; 181.165+ border-bottom: 1px solid #000; 181.166+ font-weight: normal; 181.167+ margin-left: .5em; 181.168+ vertical-align: baseline; 181.169+} 181.170+ 181.171+.tag { 181.172+ color: #999; 181.173+ font-size: 70%; 181.174+ font-weight: normal; 181.175+ margin-left: .5em; 181.176+ vertical-align: baseline; 181.177+} 181.178+ 181.179+.branchhead { 181.180+ color: #000; 181.181+ font-size: 80%; 181.182+ font-weight: normal; 181.183+ margin-left: .5em; 181.184+ vertical-align: baseline; 181.185+} 181.186+ 181.187+ul#graphnodes .branchhead { 181.188+ font-size: 75%; 181.189+} 181.190+ 181.191+.branchname { 181.192+ color: #000; 181.193+ font-size: 60%; 181.194+ font-weight: normal; 181.195+ margin-left: .5em; 181.196+ vertical-align: baseline; 181.197+} 181.198+ 181.199+/* Common */ 181.200+pre { margin: 0; } 181.201+ 181.202+h2 { font-size: 120%; border-bottom: 1px solid #999; } 181.203+h2 a { color: #000; } 181.204+h3 { 181.205+ margin-top: +.7em; 181.206+ font-size: 100%; 181.207+} 181.208+ 181.209+/* log and tags tables */ 181.210+.bigtable { 181.211+ border-bottom: 1px solid #999; 181.212+ border-collapse: collapse; 181.213+ font-size: 90%; 181.214+ width: 100%; 181.215+ font-weight: normal; 181.216+ text-align: left; 181.217+} 181.218+ 181.219+.bigtable td { 181.220+ padding: 1px 4px; 181.221+ vertical-align: top; 181.222+} 181.223+ 181.224+.bigtable th { 181.225+ padding: 1px 4px; 181.226+ border-bottom: 1px solid #999; 181.227+} 181.228+.bigtable tr { border: none; } 181.229+.bigtable .age { width: 7em; } 181.230+.bigtable .author { width: 15em; } 181.231+.bigtable .description { } 181.232+.bigtable .description .base { font-size: 70%; float: right; line-height: 1.66; } 181.233+.bigtable .node { width: 5em; font-family: monospace;} 181.234+.bigtable .permissions { width: 8em; text-align: left;} 181.235+.bigtable .size { width: 5em; text-align: right; } 181.236+.bigtable .annotate { text-align: right; } 181.237+.bigtable td.annotate { font-size: smaller; } 181.238+.bigtable td.source { font-size: inherit; } 181.239+tr.thisrev a { color:#999999; text-decoration: none; } 181.240+tr.thisrev td.source { color:#009900; } 181.241+td.annotate { 181.242+ white-space: nowrap; 181.243+} 181.244+div.annotate-info { 181.245+ z-index: 5; 181.246+ display: none; 181.247+ position: absolute; 181.248+ background-color: #FFFFFF; 181.249+ border: 1px solid #999; 181.250+ text-align: left; 181.251+ color: #000000; 181.252+ padding: 5px; 181.253+} 181.254+div.annotate-info a { color: #0000FF; } 181.255+td.annotate:hover div.annotate-info { display: inline; } 181.256+ 181.257+#diffopts-form { 181.258+ font-size: smaller; 181.259+ color: #424242; 181.260+ padding-bottom: 10px; 181.261+ display: none; 181.262+} 181.263+ 181.264+.source, .sourcefirst { 181.265+ font-family: monospace; 181.266+ white-space: pre; 181.267+ padding: 1px 4px; 181.268+ font-size: 90%; 181.269+} 181.270+.sourcefirst { border-bottom: 1px solid #999; font-weight: bold; } 181.271+.source a { color: #999; font-size: smaller; font-family: monospace;} 181.272+.bottomline { border-bottom: 1px solid #999; } 181.273+ 181.274+.sourcelines { 181.275+ font-size: 90%; 181.276+ position: relative; 181.277+ counter-reset: lineno; 181.278+} 181.279+ 181.280+.wrap > span { 181.281+ white-space: pre-wrap; 181.282+} 181.283+ 181.284+.linewraptoggle { 181.285+ float: right; 181.286+} 181.287+ 181.288+.diffblocks { counter-reset: lineno; } 181.289+.diffblocks > div { counter-increment: lineno; } 181.290+ 181.291+.sourcelines > span { 181.292+ display: inline-block; 181.293+ box-sizing: border-box; 181.294+ width: 100%; 181.295+ padding: 1px 0px 1px 5em; 181.296+ counter-increment: lineno; 181.297+} 181.298+ 181.299+.sourcelines > span:before { 181.300+ -moz-user-select: -moz-none; 181.301+ -khtml-user-select: none; 181.302+ -webkit-user-select: none; 181.303+ -ms-user-select: none; 181.304+ user-select: none; 181.305+ display: inline-block; 181.306+ margin-left: -6em; 181.307+ width: 4em; 181.308+ font-size: smaller; 181.309+ color: #999; 181.310+ text-align: right; 181.311+ content: counters(lineno, "."); 181.312+ float: left; 181.313+} 181.314+ 181.315+.sourcelines > span:after { 181.316+ content: ''; 181.317+ display: inline-block; 181.318+} 181.319+ 181.320+.sourcelines > span:target, tr:target td { 181.321+ background-color: #bfdfff; 181.322+} 181.323+ 181.324+/* Followlines */ 181.325+tbody.sourcelines > tr.followlines-selected, 181.326+pre.sourcelines > span.followlines-selected { 181.327+ background-color: #99C7E9; 181.328+} 181.329+ 181.330+div#followlines { 181.331+ background-color: #FFF; 181.332+ border: 1px solid #999; 181.333+ padding: 5px; 181.334+ position: fixed; 181.335+} 181.336+ 181.337+div.followlines-cancel { 181.338+ text-align: right; 181.339+} 181.340+ 181.341+div.followlines-cancel > button { 181.342+ line-height: 80%; 181.343+ padding: 0; 181.344+ border: 0; 181.345+ border-radius: 2px; 181.346+ background-color: inherit; 181.347+ font-weight: bold; 181.348+} 181.349+ 181.350+div.followlines-cancel > button:hover { 181.351+ color: #FFFFFF; 181.352+ background-color: #CF1F1F; 181.353+} 181.354+ 181.355+div.followlines-link { 181.356+ margin: 2px; 181.357+ margin-top: 4px; 181.358+ font-family: sans-serif; 181.359+} 181.360+ 181.361+.btn-followlines { 181.362+ position: absolute; 181.363+ display: none; 181.364+ cursor: pointer; 181.365+ box-sizing: content-box; 181.366+ font-size: 12px; 181.367+ width: 13px; 181.368+ height: 13px; 181.369+ border-radius: 3px; 181.370+ margin: 0px; 181.371+ margin-top: -2px; 181.372+ padding: 0px; 181.373+ background-color: #E5FDE5; 181.374+ border: 1px solid #9BC19B; 181.375+ font-family: monospace; 181.376+ text-align: center; 181.377+ line-height: 5px; 181.378+} 181.379+ 181.380+span.followlines-select .btn-followlines { 181.381+ margin-left: -1.5em; 181.382+} 181.383+ 181.384+.btn-followlines:hover { 181.385+ transform: scale(1.2, 1.2); 181.386+} 181.387+ 181.388+.btn-followlines .followlines-plus { 181.389+ color: green; 181.390+} 181.391+ 181.392+.btn-followlines .followlines-minus { 181.393+ color: red; 181.394+} 181.395+ 181.396+.btn-followlines-end { 181.397+ background-color: #ffdcdc; 181.398+} 181.399+ 181.400+.sourcelines tr:hover .btn-followlines, 181.401+.sourcelines span.followlines-select:hover > .btn-followlines { 181.402+ display: inline; 181.403+} 181.404+ 181.405+.btn-followlines-hidden, 181.406+.sourcelines tr:hover .btn-followlines-hidden { 181.407+ display: none; 181.408+} 181.409+ 181.410+.sourcelines > a { 181.411+ display: inline-block; 181.412+ position: absolute; 181.413+ left: 0px; 181.414+ width: 4em; 181.415+ height: 1em; 181.416+} 181.417+ 181.418+.fileline { font-family: monospace; } 181.419+.fileline img { border: 0; } 181.420+ 181.421+.tagEntry .closed { color: #99f; } 181.422+ 181.423+/* Changeset entry */ 181.424+#changesetEntry { 181.425+ border-collapse: collapse; 181.426+ font-size: 90%; 181.427+ width: 100%; 181.428+ margin-bottom: 1em; 181.429+} 181.430+ 181.431+#changesetEntry th { 181.432+ padding: 1px 4px; 181.433+ width: 4em; 181.434+ text-align: right; 181.435+ font-weight: normal; 181.436+ color: #999; 181.437+ vertical-align: top; 181.438+} 181.439+ 181.440+div.description { 181.441+ border-left: 2px solid #999; 181.442+ margin: 1em 0 1em 0; 181.443+ padding: .3em; 181.444+ white-space: pre; 181.445+ font-family: monospace; 181.446+} 181.447+ 181.448+/* Graph */ 181.449+div#wrapper { 181.450+ position: relative; 181.451+ border-top: 1px solid black; 181.452+ border-bottom: 1px solid black; 181.453+ margin: 0; 181.454+ padding: 0; 181.455+} 181.456+ 181.457+canvas { 181.458+ position: absolute; 181.459+ z-index: 5; 181.460+ top: -0.7em; 181.461+ margin: 0; 181.462+} 181.463+ 181.464+ul#graphnodes { 181.465+ list-style: none inside none; 181.466+ padding: 0; 181.467+ margin: 0; 181.468+} 181.469+ 181.470+ul#graphnodes li { 181.471+ height: 39px; 181.472+ overflow: visible; 181.473+} 181.474+ 181.475+ul#graphnodes li .fg { 181.476+ position: absolute; 181.477+ z-index: 10; 181.478+} 181.479+ 181.480+ul#graphnodes li .info { 181.481+ font-size: 70%; 181.482+} 181.483+ 181.484+/* Comparison */ 181.485+.legend { 181.486+ padding: 1.5% 0 1.5% 0; 181.487+} 181.488+ 181.489+.legendinfo { 181.490+ border: 1px solid #999; 181.491+ font-size: 80%; 181.492+ text-align: center; 181.493+ padding: 0.5%; 181.494+} 181.495+ 181.496+.equal { 181.497+ background-color: #ffffff; 181.498+} 181.499+ 181.500+.delete { 181.501+ background-color: #faa; 181.502+ color: #333; 181.503+} 181.504+ 181.505+.insert { 181.506+ background-color: #ffa; 181.507+} 181.508+ 181.509+.replace { 181.510+ background-color: #e8e8e8; 181.511+} 181.512+ 181.513+.header { 181.514+ text-align: center; 181.515+} 181.516+ 181.517+.block { 181.518+ border-top: 1px solid #999; 181.519+} 181.520+ 181.521+.breadcrumb { 181.522+ color: gray; 181.523+} 181.524+ 181.525+.breadcrumb a { 181.526+ color: blue; 181.527+} 181.528+ 181.529+.scroll-loading { 181.530+ -webkit-animation: change_color 1s linear 0s infinite alternate; 181.531+ -moz-animation: change_color 1s linear 0s infinite alternate; 181.532+ -o-animation: change_color 1s linear 0s infinite alternate; 181.533+ animation: change_color 1s linear 0s infinite alternate; 181.534+} 181.535+ 181.536+@-webkit-keyframes change_color { 181.537+ from { background-color: #A0CEFF; } to { } 181.538+} 181.539+@-moz-keyframes change_color { 181.540+ from { background-color: #A0CEFF; } to { } 181.541+} 181.542+@-o-keyframes change_color { 181.543+ from { background-color: #A0CEFF; } to { } 181.544+} 181.545+@keyframes change_color { 181.546+ from { background-color: #A0CEFF; } to { } 181.547+} 181.548+ 181.549+.scroll-loading-error { 181.550+ background-color: #FFCCCC !important; 181.551+}
182.1--- /dev/null Thu Jan 01 00:00:00 1970 +0000 182.2+++ b/templates/static/style.css Sat Jul 20 22:31:54 2024 -0400 182.3@@ -0,0 +1,117 @@ 182.4+a { text-decoration:none; } 182.5+.age { white-space:nowrap; } 182.6+.date { white-space:nowrap; } 182.7+.indexlinks { white-space:nowrap; } 182.8+.parity0 { background-color: #ddd; color: #000; } 182.9+.parity1 { background-color: #eee; color: #000; } 182.10+.lineno { width: 60px; color: #aaa; font-size: smaller; 182.11+ text-align: right; } 182.12+.plusline { color: green; } 182.13+.minusline { color: red; } 182.14+.atline { color: purple; } 182.15+.annotate { font-size: smaller; text-align: right; padding-right: 1em; } 182.16+tr.thisrev a { color:#999999; text-decoration: none; } 182.17+tr.thisrev pre { color:#009900; } 182.18+td.annotate { 182.19+ white-space: nowrap; 182.20+} 182.21+div.annotate-info { 182.22+ display: none; 182.23+ position: absolute; 182.24+ background-color: #FFFFFF; 182.25+ border: 1px solid #888; 182.26+ text-align: left; 182.27+ color: #000000; 182.28+ padding: 5px; 182.29+} 182.30+div.annotate-info a { color: #0000FF; } 182.31+td.annotate:hover div.annotate-info { display: inline; } 182.32+.buttons a { 182.33+ background-color: #666; 182.34+ padding: 2pt; 182.35+ color: white; 182.36+ font-family: sans-serif; 182.37+ font-weight: bold; 182.38+} 182.39+.navigate a { 182.40+ background-color: #ccc; 182.41+ padding: 2pt; 182.42+ font-family: sans-serif; 182.43+ color: black; 182.44+} 182.45+ 182.46+.metatag { 182.47+ background-color: #888; 182.48+ color: white; 182.49+ text-align: right; 182.50+} 182.51+ 182.52+/* Common */ 182.53+pre { margin: 0; } 182.54+ 182.55+.logo { 182.56+ float: right; 182.57+ clear: right; 182.58+} 182.59+ 182.60+/* Changelog/Filelog entries */ 182.61+.logEntry { width: 100%; } 182.62+.logEntry .age { width: 15%; } 182.63+.logEntry th.label { width: 16em; } 182.64+.logEntry th { font-weight: normal; text-align: right; vertical-align: top; } 182.65+.logEntry th.age, .logEntry th.firstline { font-weight: bold; } 182.66+.logEntry th.firstline { text-align: left; width: inherit; } 182.67+ 182.68+/* Shortlog entries */ 182.69+.slogEntry { width: 100%; } 182.70+.slogEntry .age { width: 8em; } 182.71+.slogEntry td { font-weight: normal; text-align: left; vertical-align: top; } 182.72+.slogEntry td.author { width: 15em; } 182.73+ 182.74+/* Tag entries */ 182.75+#tagEntries { list-style: none; margin: 0; padding: 0; } 182.76+#tagEntries .tagEntry { list-style: none; margin: 0; padding: 0; } 182.77+ 182.78+/* Changeset entry */ 182.79+#changesetEntry { } 182.80+#changesetEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; } 182.81+#changesetEntry th.files, #changesetEntry th.description { vertical-align: top; } 182.82+ 182.83+/* File diff view */ 182.84+#filediffEntry { } 182.85+#filediffEntry th { font-weight: normal; background-color: #888; color: #fff; text-align: right; } 182.86+ 182.87+/* Graph */ 182.88+div#wrapper { 182.89+ position: relative; 182.90+ margin: 0; 182.91+ padding: 0; 182.92+} 182.93+ 182.94+canvas { 182.95+ position: absolute; 182.96+ z-index: 5; 182.97+ top: -0.6em; 182.98+ margin: 0; 182.99+} 182.100+ 182.101+ul#graphnodes { 182.102+ list-style: none inside none; 182.103+ padding: 0; 182.104+ margin: 0; 182.105+} 182.106+ 182.107+ul#graphnodes li { 182.108+ height: 37px; 182.109+ overflow: visible; 182.110+ padding-top: 2px; 182.111+} 182.112+ 182.113+ul#graphnodes li .fg { 182.114+ position: absolute; 182.115+ z-index: 10; 182.116+} 182.117+ 182.118+ul#graphnodes li .info { 182.119+ font-size: 70%; 182.120+}