1<!doctype html>
2<html lang="en">
3<head>
4<meta charset="utf-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<meta name="color-scheme" content="light dark">
7<title>commits · long · example.test</title>
8<meta name="theme-color" media="(prefers-color-scheme: light)" content="#ffffff">
9<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#0c0c0c">
10<meta name="apple-mobile-web-app-title" content="ermite">
11<link rel="icon" type="image/svg+xml" href="/-/static/img/icon.HASH.svg">
12<link rel="apple-touch-icon" href="/-/static/app/apple-touch-icon.HASH.png">
13<link rel="manifest" href="/-/static/app/manifest.HASH.webmanifest">
14<link rel="preload" href="/-/static/fonts/atkinson-next.HASH.woff2" as="font" type="font/woff2" crossorigin>
15<link rel="stylesheet" href="/-/static/css/ermite.HASH.css">
16<meta name="htmx-config" content='{"history":false,"includeIndicatorCSS":false,"extensions":"sse, hx-live"}'>
17<script src="/-/static/js/htmx.min.HASH.js" defer>
18</script>
19<script src="/-/static/js/hx-live.min.HASH.js" defer>
20</script>
21<script src="/-/static/js/hx-sse.min.HASH.js" defer>
22</script>
23<script src="/-/static/js/ermite.HASH.js" defer>
24</script>
25<script src="/-/static/js/files.HASH.js" defer>
26</script>
27<script src="/-/static/js/passkey.HASH.js" defer>
28</script>
29<script src="/-/static/js/log.HASH.js" defer>
30</script>
31</head>
32<body data-ref="main" data-sha="SHA40" data-sel="" data-nav="" data-paths="/long/paths/SHA40" data-blob="/long/blob/main">
33<a class="skip" href="#main">skip to content</a>
34<header class="hdr">
35<div class="hdr-top">
36<a class="brand" href="/" data-g="h" aria-label="home" title="home (g h)">
37<span class="brand-mark" aria-hidden="true">
38</span>
39</a>
40<nav class="crumbs" aria-label="Path">
41<ol>
42<li>
43<a href="/long">long</a>
44</li>
45<li>
46<a href="/long/commits/main">commits</a>
47</li>
48<li>
49<a href="/long/commits/main" aria-current="page">main</a>
50</li>
51</ol>
52</nav>
53<div class="hdr-acts">
54<a class="btn ref" href="/long/refs" data-fire="refs" aria-keyshortcuts="b" title="switch branch or tag (b)">
55<span class="ico i-branch" aria-hidden="true">
56</span>
57<span class="ref-name">main</span>
58<span class="sha">SHA7</span>
59</a>
60<button type="button" class="btn search" data-js aria-haspopup="dialog" aria-controls="panel-cmd" aria-keyshortcuts="Control+K :" title="go to a section, ref, file or repo (ctrl k or :)" data-fire="cmd">
61<span class="ico i-search" aria-hidden="true">
62</span>
63<span class="search-label">Go to…</span>
64<kbd aria-hidden="true">ctrl k</kbd>
65</button>
66<button type="button" class="btn icon" data-install hidden aria-label="Install app" title="install ermite as an app">
67<span class="ico i-download" aria-hidden="true">
68</span>
69</button>
70</div>
71</div>
72<nav class="tabs" aria-label="Sections">
73<ul>
74<li>
75<a href="/long" data-key="s" aria-keyshortcuts="s">Summary <kbd aria-hidden="true">s</kbd>
76</a>
77</li>
78<li>
79<a href="/long/tree/main" data-key="t" aria-keyshortcuts="t">Files <kbd aria-hidden="true">t</kbd>
80</a>
81</li>
82<li>
83<a href="/long/commits/main" data-key="c" aria-keyshortcuts="c" aria-current="page">Commits <kbd aria-hidden="true">c</kbd>
84</a>
85</li>
86<li>
87<a href="/long/refs" data-key="r" aria-keyshortcuts="r">Branches & tags <kbd aria-hidden="true">r</kbd>
88</a>
89</li>
90<li>
91<a href="/long/merge-requests" data-key="m" aria-keyshortcuts="m">Merge requests <kbd aria-hidden="true">m</kbd>
92</a>
93</li>
94<li>
95<a href="/long/actions" data-key="a" aria-keyshortcuts="a">Actions <kbd aria-hidden="true">a</kbd>
96</a>
97</li>
98</ul>
99</nav>
100</header>
101<div class="work has-rail">
102<main id="main" tabindex="-1">
103<div class="filter">
104<label for="commit-filter" class="sr">filter</label>
105<input id="commit-filter" type="search" data-filter=".days tr" data-groups=".days section" placeholder="Filter by subject, sha or author…" autocomplete="off" hx-on:input="ermite.filter(this)">
106</div>
107<div id="commits-head" class="live-slot" role="status" data-slot>
108</div>
109<div class="days">
110<section aria-label="2026-03-26">
111<h2 class="rule-h">
112<span>2026-03-26</span>
113</h2>
114<table class="list commits" aria-label="Commits">
115<tbody data-rows>
116<tr id="c-SHA7" data-cursor>
117<td class="cur" aria-hidden="true">
118</td>
119<td class="c-sha mute">SHA7</td>
120<td class="c-subject">
121<a href="/long/commit/SHA40">commit number 51</a>
122<span class="pill">main</span>
123</td>
124<td class="c-ck">
125</td>
126<td class="c-who dim">T</td>
127<td class="c-when nowrap dim">
128<time datetime="STAMP" title="STAMP">AGO</time>
129</td>
130</tr>
131<tr id="c-SHA7">
132<td class="cur" aria-hidden="true">
133</td>
134<td class="c-sha mute">SHA7</td>
135<td class="c-subject">
136<a href="/long/commit/SHA40">commit number 50</a>
137</td>
138<td class="c-ck">
139</td>
140<td class="c-who dim">T</td>
141<td class="c-when nowrap dim">
142<time datetime="STAMP" title="STAMP">AGO</time>
143</td>
144</tr>
145</tbody>
146</table>
147</section>
148<section aria-label="2026-03-25">
149<h2 class="rule-h">
150<span>2026-03-25</span>
151</h2>
152<table class="list commits" aria-label="Commits">
153<tbody data-rows>
154<tr id="c-SHA7">
155<td class="cur" aria-hidden="true">
156</td>
157<td class="c-sha mute">SHA7</td>
158<td class="c-subject">
159<a href="/long/commit/SHA40">commit number 49</a>
160</td>
161<td class="c-ck">
162</td>
163<td class="c-who dim">T</td>
164<td class="c-when nowrap dim">
165<time datetime="STAMP" title="STAMP">AGO</time>
166</td>
167</tr>
168<tr id="c-SHA7">
169<td class="cur" aria-hidden="true">
170</td>
171<td class="c-sha mute">SHA7</td>
172<td class="c-subject">
173<a href="/long/commit/SHA40">commit number 48</a>
174</td>
175<td class="c-ck">
176</td>
177<td class="c-who dim">T</td>
178<td class="c-when nowrap dim">
179<time datetime="STAMP" title="STAMP">AGO</time>
180</td>
181</tr>
182</tbody>
183</table>
184</section>
185<section aria-label="2026-03-24">
186<h2 class="rule-h">
187<span>2026-03-24</span>
188</h2>
189<table class="list commits" aria-label="Commits">
190<tbody data-rows>
191<tr id="c-SHA7">
192<td class="cur" aria-hidden="true">
193</td>
194<td class="c-sha mute">SHA7</td>
195<td class="c-subject">
196<a href="/long/commit/SHA40">commit number 47</a>
197</td>
198<td class="c-ck">
199</td>
200<td class="c-who dim">T</td>
201<td class="c-when nowrap dim">
202<time datetime="STAMP" title="STAMP">AGO</time>
203</td>
204</tr>
205<tr id="c-SHA7">
206<td class="cur" aria-hidden="true">
207</td>
208<td class="c-sha mute">SHA7</td>
209<td class="c-subject">
210<a href="/long/commit/SHA40">commit number 46</a>
211</td>
212<td class="c-ck">
213</td>
214<td class="c-who dim">T</td>
215<td class="c-when nowrap dim">
216<time datetime="STAMP" title="STAMP">AGO</time>
217</td>
218</tr>
219</tbody>
220</table>
221</section>
222<section aria-label="2026-03-23">
223<h2 class="rule-h">
224<span>2026-03-23</span>
225</h2>
226<table class="list commits" aria-label="Commits">
227<tbody data-rows>
228<tr id="c-SHA7">
229<td class="cur" aria-hidden="true">
230</td>
231<td class="c-sha mute">SHA7</td>
232<td class="c-subject">
233<a href="/long/commit/SHA40">commit number 45</a>
234</td>
235<td class="c-ck">
236</td>
237<td class="c-who dim">T</td>
238<td class="c-when nowrap dim">
239<time datetime="STAMP" title="STAMP">AGO</time>
240</td>
241</tr>
242<tr id="c-SHA7">
243<td class="cur" aria-hidden="true">
244</td>
245<td class="c-sha mute">SHA7</td>
246<td class="c-subject">
247<a href="/long/commit/SHA40">commit number 44</a>
248</td>
249<td class="c-ck">
250</td>
251<td class="c-who dim">T</td>
252<td class="c-when nowrap dim">
253<time datetime="STAMP" title="STAMP">AGO</time>
254</td>
255</tr>
256</tbody>
257</table>
258</section>
259<section aria-label="2026-03-22">
260<h2 class="rule-h">
261<span>2026-03-22</span>
262</h2>
263<table class="list commits" aria-label="Commits">
264<tbody data-rows>
265<tr id="c-SHA7">
266<td class="cur" aria-hidden="true">
267</td>
268<td class="c-sha mute">SHA7</td>
269<td class="c-subject">
270<a href="/long/commit/SHA40">commit number 43</a>
271</td>
272<td class="c-ck">
273</td>
274<td class="c-who dim">T</td>
275<td class="c-when nowrap dim">
276<time datetime="STAMP" title="STAMP">AGO</time>
277</td>
278</tr>
279<tr id="c-SHA7">
280<td class="cur" aria-hidden="true">
281</td>
282<td class="c-sha mute">SHA7</td>
283<td class="c-subject">
284<a href="/long/commit/SHA40">commit number 42</a>
285</td>
286<td class="c-ck">
287</td>
288<td class="c-who dim">T</td>
289<td class="c-when nowrap dim">
290<time datetime="STAMP" title="STAMP">AGO</time>
291</td>
292</tr>
293</tbody>
294</table>
295</section>
296<section aria-label="2026-03-21">
297<h2 class="rule-h">
298<span>2026-03-21</span>
299</h2>
300<table class="list commits" aria-label="Commits">
301<tbody data-rows>
302<tr id="c-SHA7">
303<td class="cur" aria-hidden="true">
304</td>
305<td class="c-sha mute">SHA7</td>
306<td class="c-subject">
307<a href="/long/commit/SHA40">commit number 41</a>
308</td>
309<td class="c-ck">
310</td>
311<td class="c-who dim">T</td>
312<td class="c-when nowrap dim">
313<time datetime="STAMP" title="STAMP">AGO</time>
314</td>
315</tr>
316<tr id="c-SHA7">
317<td class="cur" aria-hidden="true">
318</td>
319<td class="c-sha mute">SHA7</td>
320<td class="c-subject">
321<a href="/long/commit/SHA40">commit number 40</a>
322</td>
323<td class="c-ck">
324</td>
325<td class="c-who dim">T</td>
326<td class="c-when nowrap dim">
327<time datetime="STAMP" title="STAMP">AGO</time>
328</td>
329</tr>
330</tbody>
331</table>
332</section>
333<section aria-label="2026-03-20">
334<h2 class="rule-h">
335<span>2026-03-20</span>
336</h2>
337<table class="list commits" aria-label="Commits">
338<tbody data-rows>
339<tr id="c-SHA7">
340<td class="cur" aria-hidden="true">
341</td>
342<td class="c-sha mute">SHA7</td>
343<td class="c-subject">
344<a href="/long/commit/SHA40">commit number 39</a>
345</td>
346<td class="c-ck">
347</td>
348<td class="c-who dim">T</td>
349<td class="c-when nowrap dim">
350<time datetime="STAMP" title="STAMP">AGO</time>
351</td>
352</tr>
353<tr id="c-SHA7">
354<td class="cur" aria-hidden="true">
355</td>
356<td class="c-sha mute">SHA7</td>
357<td class="c-subject">
358<a href="/long/commit/SHA40">commit number 38</a>
359</td>
360<td class="c-ck">
361</td>
362<td class="c-who dim">T</td>
363<td class="c-when nowrap dim">
364<time datetime="STAMP" title="STAMP">AGO</time>
365</td>
366</tr>
367</tbody>
368</table>
369</section>
370<section aria-label="2026-03-19">
371<h2 class="rule-h">
372<span>2026-03-19</span>
373</h2>
374<table class="list commits" aria-label="Commits">
375<tbody data-rows>
376<tr id="c-SHA7">
377<td class="cur" aria-hidden="true">
378</td>
379<td class="c-sha mute">SHA7</td>
380<td class="c-subject">
381<a href="/long/commit/SHA40">commit number 37</a>
382</td>
383<td class="c-ck">
384</td>
385<td class="c-who dim">T</td>
386<td class="c-when nowrap dim">
387<time datetime="STAMP" title="STAMP">AGO</time>
388</td>
389</tr>
390<tr id="c-SHA7">
391<td class="cur" aria-hidden="true">
392</td>
393<td class="c-sha mute">SHA7</td>
394<td class="c-subject">
395<a href="/long/commit/SHA40">commit number 36</a>
396</td>
397<td class="c-ck">
398</td>
399<td class="c-who dim">T</td>
400<td class="c-when nowrap dim">
401<time datetime="STAMP" title="STAMP">AGO</time>
402</td>
403</tr>
404</tbody>
405</table>
406</section>
407<section aria-label="2026-03-18">
408<h2 class="rule-h">
409<span>2026-03-18</span>
410</h2>
411<table class="list commits" aria-label="Commits">
412<tbody data-rows>
413<tr id="c-SHA7">
414<td class="cur" aria-hidden="true">
415</td>
416<td class="c-sha mute">SHA7</td>
417<td class="c-subject">
418<a href="/long/commit/SHA40">commit number 35</a>
419</td>
420<td class="c-ck">
421</td>
422<td class="c-who dim">T</td>
423<td class="c-when nowrap dim">
424<time datetime="STAMP" title="STAMP">AGO</time>
425</td>
426</tr>
427<tr id="c-SHA7">
428<td class="cur" aria-hidden="true">
429</td>
430<td class="c-sha mute">SHA7</td>
431<td class="c-subject">
432<a href="/long/commit/SHA40">commit number 34</a>
433</td>
434<td class="c-ck">
435</td>
436<td class="c-who dim">T</td>
437<td class="c-when nowrap dim">
438<time datetime="STAMP" title="STAMP">AGO</time>
439</td>
440</tr>
441</tbody>
442</table>
443</section>
444<section aria-label="2026-03-17">
445<h2 class="rule-h">
446<span>2026-03-17</span>
447</h2>
448<table class="list commits" aria-label="Commits">
449<tbody data-rows>
450<tr id="c-SHA7">
451<td class="cur" aria-hidden="true">
452</td>
453<td class="c-sha mute">SHA7</td>
454<td class="c-subject">
455<a href="/long/commit/SHA40">commit number 33</a>
456</td>
457<td class="c-ck">
458</td>
459<td class="c-who dim">T</td>
460<td class="c-when nowrap dim">
461<time datetime="STAMP" title="STAMP">AGO</time>
462</td>
463</tr>
464<tr id="c-SHA7">
465<td class="cur" aria-hidden="true">
466</td>
467<td class="c-sha mute">SHA7</td>
468<td class="c-subject">
469<a href="/long/commit/SHA40">commit number 32</a>
470</td>
471<td class="c-ck">
472</td>
473<td class="c-who dim">T</td>
474<td class="c-when nowrap dim">
475<time datetime="STAMP" title="STAMP">AGO</time>
476</td>
477</tr>
478</tbody>
479</table>
480</section>
481<section aria-label="2026-03-16">
482<h2 class="rule-h">
483<span>2026-03-16</span>
484</h2>
485<table class="list commits" aria-label="Commits">
486<tbody data-rows>
487<tr id="c-SHA7">
488<td class="cur" aria-hidden="true">
489</td>
490<td class="c-sha mute">SHA7</td>
491<td class="c-subject">
492<a href="/long/commit/SHA40">commit number 31</a>
493</td>
494<td class="c-ck">
495</td>
496<td class="c-who dim">T</td>
497<td class="c-when nowrap dim">
498<time datetime="STAMP" title="STAMP">AGO</time>
499</td>
500</tr>
501<tr id="c-SHA7">
502<td class="cur" aria-hidden="true">
503</td>
504<td class="c-sha mute">SHA7</td>
505<td class="c-subject">
506<a href="/long/commit/SHA40">commit number 30</a>
507</td>
508<td class="c-ck">
509</td>
510<td class="c-who dim">T</td>
511<td class="c-when nowrap dim">
512<time datetime="STAMP" title="STAMP">AGO</time>
513</td>
514</tr>
515</tbody>
516</table>
517</section>
518<section aria-label="2026-03-15">
519<h2 class="rule-h">
520<span>2026-03-15</span>
521</h2>
522<table class="list commits" aria-label="Commits">
523<tbody data-rows>
524<tr id="c-SHA7">
525<td class="cur" aria-hidden="true">
526</td>
527<td class="c-sha mute">SHA7</td>
528<td class="c-subject">
529<a href="/long/commit/SHA40">commit number 29</a>
530</td>
531<td class="c-ck">
532</td>
533<td class="c-who dim">T</td>
534<td class="c-when nowrap dim">
535<time datetime="STAMP" title="STAMP">AGO</time>
536</td>
537</tr>
538<tr id="c-SHA7">
539<td class="cur" aria-hidden="true">
540</td>
541<td class="c-sha mute">SHA7</td>
542<td class="c-subject">
543<a href="/long/commit/SHA40">commit number 28</a>
544</td>
545<td class="c-ck">
546</td>
547<td class="c-who dim">T</td>
548<td class="c-when nowrap dim">
549<time datetime="STAMP" title="STAMP">AGO</time>
550</td>
551</tr>
552</tbody>
553</table>
554</section>
555<section aria-label="2026-03-14">
556<h2 class="rule-h">
557<span>2026-03-14</span>
558</h2>
559<table class="list commits" aria-label="Commits">
560<tbody data-rows>
561<tr id="c-SHA7">
562<td class="cur" aria-hidden="true">
563</td>
564<td class="c-sha mute">SHA7</td>
565<td class="c-subject">
566<a href="/long/commit/SHA40">commit number 27</a>
567</td>
568<td class="c-ck">
569</td>
570<td class="c-who dim">T</td>
571<td class="c-when nowrap dim">
572<time datetime="STAMP" title="STAMP">AGO</time>
573</td>
574</tr>
575<tr id="c-SHA7">
576<td class="cur" aria-hidden="true">
577</td>
578<td class="c-sha mute">SHA7</td>
579<td class="c-subject">
580<a href="/long/commit/SHA40">commit number 26</a>
581</td>
582<td class="c-ck">
583</td>
584<td class="c-who dim">T</td>
585<td class="c-when nowrap dim">
586<time datetime="STAMP" title="STAMP">AGO</time>
587</td>
588</tr>
589</tbody>
590</table>
591</section>
592<section aria-label="2026-03-13">
593<h2 class="rule-h">
594<span>2026-03-13</span>
595</h2>
596<table class="list commits" aria-label="Commits">
597<tbody data-rows>
598<tr id="c-SHA7">
599<td class="cur" aria-hidden="true">
600</td>
601<td class="c-sha mute">SHA7</td>
602<td class="c-subject">
603<a href="/long/commit/SHA40">commit number 25</a>
604</td>
605<td class="c-ck">
606</td>
607<td class="c-who dim">T</td>
608<td class="c-when nowrap dim">
609<time datetime="STAMP" title="STAMP">AGO</time>
610</td>
611</tr>
612<tr id="c-SHA7">
613<td class="cur" aria-hidden="true">
614</td>
615<td class="c-sha mute">SHA7</td>
616<td class="c-subject">
617<a href="/long/commit/SHA40">commit number 24</a>
618</td>
619<td class="c-ck">
620</td>
621<td class="c-who dim">T</td>
622<td class="c-when nowrap dim">
623<time datetime="STAMP" title="STAMP">AGO</time>
624</td>
625</tr>
626</tbody>
627</table>
628</section>
629<section aria-label="2026-03-12">
630<h2 class="rule-h">
631<span>2026-03-12</span>
632</h2>
633<table class="list commits" aria-label="Commits">
634<tbody data-rows>
635<tr id="c-SHA7">
636<td class="cur" aria-hidden="true">
637</td>
638<td class="c-sha mute">SHA7</td>
639<td class="c-subject">
640<a href="/long/commit/SHA40">commit number 23</a>
641</td>
642<td class="c-ck">
643</td>
644<td class="c-who dim">T</td>
645<td class="c-when nowrap dim">
646<time datetime="STAMP" title="STAMP">AGO</time>
647</td>
648</tr>
649<tr id="c-SHA7">
650<td class="cur" aria-hidden="true">
651</td>
652<td class="c-sha mute">SHA7</td>
653<td class="c-subject">
654<a href="/long/commit/SHA40">commit number 22</a>
655</td>
656<td class="c-ck">
657</td>
658<td class="c-who dim">T</td>
659<td class="c-when nowrap dim">
660<time datetime="STAMP" title="STAMP">AGO</time>
661</td>
662</tr>
663</tbody>
664</table>
665</section>
666<section aria-label="2026-03-11">
667<h2 class="rule-h">
668<span>2026-03-11</span>
669</h2>
670<table class="list commits" aria-label="Commits">
671<tbody data-rows>
672<tr id="c-SHA7">
673<td class="cur" aria-hidden="true">
674</td>
675<td class="c-sha mute">SHA7</td>
676<td class="c-subject">
677<a href="/long/commit/SHA40">commit number 21</a>
678</td>
679<td class="c-ck">
680</td>
681<td class="c-who dim">T</td>
682<td class="c-when nowrap dim">
683<time datetime="STAMP" title="STAMP">AGO</time>
684</td>
685</tr>
686<tr id="c-SHA7">
687<td class="cur" aria-hidden="true">
688</td>
689<td class="c-sha mute">SHA7</td>
690<td class="c-subject">
691<a href="/long/commit/SHA40">commit number 20</a>
692</td>
693<td class="c-ck">
694</td>
695<td class="c-who dim">T</td>
696<td class="c-when nowrap dim">
697<time datetime="STAMP" title="STAMP">AGO</time>
698</td>
699</tr>
700</tbody>
701</table>
702</section>
703<section aria-label="2026-03-10">
704<h2 class="rule-h">
705<span>2026-03-10</span>
706</h2>
707<table class="list commits" aria-label="Commits">
708<tbody data-rows>
709<tr id="c-SHA7">
710<td class="cur" aria-hidden="true">
711</td>
712<td class="c-sha mute">SHA7</td>
713<td class="c-subject">
714<a href="/long/commit/SHA40">commit number 19</a>
715</td>
716<td class="c-ck">
717</td>
718<td class="c-who dim">T</td>
719<td class="c-when nowrap dim">
720<time datetime="STAMP" title="STAMP">AGO</time>
721</td>
722</tr>
723<tr id="c-SHA7">
724<td class="cur" aria-hidden="true">
725</td>
726<td class="c-sha mute">SHA7</td>
727<td class="c-subject">
728<a href="/long/commit/SHA40">commit number 18</a>
729</td>
730<td class="c-ck">
731</td>
732<td class="c-who dim">T</td>
733<td class="c-when nowrap dim">
734<time datetime="STAMP" title="STAMP">AGO</time>
735</td>
736</tr>
737</tbody>
738</table>
739</section>
740<section aria-label="2026-03-09">
741<h2 class="rule-h">
742<span>2026-03-09</span>
743</h2>
744<table class="list commits" aria-label="Commits">
745<tbody data-rows>
746<tr id="c-SHA7">
747<td class="cur" aria-hidden="true">
748</td>
749<td class="c-sha mute">SHA7</td>
750<td class="c-subject">
751<a href="/long/commit/SHA40">commit number 17</a>
752</td>
753<td class="c-ck">
754</td>
755<td class="c-who dim">T</td>
756<td class="c-when nowrap dim">
757<time datetime="STAMP" title="STAMP">AGO</time>
758</td>
759</tr>
760<tr id="c-SHA7">
761<td class="cur" aria-hidden="true">
762</td>
763<td class="c-sha mute">SHA7</td>
764<td class="c-subject">
765<a href="/long/commit/SHA40">commit number 16</a>
766</td>
767<td class="c-ck">
768</td>
769<td class="c-who dim">T</td>
770<td class="c-when nowrap dim">
771<time datetime="STAMP" title="STAMP">AGO</time>
772</td>
773</tr>
774</tbody>
775</table>
776</section>
777<section aria-label="2026-03-08">
778<h2 class="rule-h">
779<span>2026-03-08</span>
780</h2>
781<table class="list commits" aria-label="Commits">
782<tbody data-rows>
783<tr id="c-SHA7">
784<td class="cur" aria-hidden="true">
785</td>
786<td class="c-sha mute">SHA7</td>
787<td class="c-subject">
788<a href="/long/commit/SHA40">commit number 15</a>
789</td>
790<td class="c-ck">
791</td>
792<td class="c-who dim">T</td>
793<td class="c-when nowrap dim">
794<time datetime="STAMP" title="STAMP">AGO</time>
795</td>
796</tr>
797<tr id="c-SHA7">
798<td class="cur" aria-hidden="true">
799</td>
800<td class="c-sha mute">SHA7</td>
801<td class="c-subject">
802<a href="/long/commit/SHA40">commit number 14</a>
803</td>
804<td class="c-ck">
805</td>
806<td class="c-who dim">T</td>
807<td class="c-when nowrap dim">
808<time datetime="STAMP" title="STAMP">AGO</time>
809</td>
810</tr>
811</tbody>
812</table>
813</section>
814<section aria-label="2026-03-07">
815<h2 class="rule-h">
816<span>2026-03-07</span>
817</h2>
818<table class="list commits" aria-label="Commits">
819<tbody data-rows>
820<tr id="c-SHA7">
821<td class="cur" aria-hidden="true">
822</td>
823<td class="c-sha mute">SHA7</td>
824<td class="c-subject">
825<a href="/long/commit/SHA40">commit number 13</a>
826</td>
827<td class="c-ck">
828</td>
829<td class="c-who dim">T</td>
830<td class="c-when nowrap dim">
831<time datetime="STAMP" title="STAMP">AGO</time>
832</td>
833</tr>
834<tr id="c-SHA7">
835<td class="cur" aria-hidden="true">
836</td>
837<td class="c-sha mute">SHA7</td>
838<td class="c-subject">
839<a href="/long/commit/SHA40">commit number 12</a>
840</td>
841<td class="c-ck">
842</td>
843<td class="c-who dim">T</td>
844<td class="c-when nowrap dim">
845<time datetime="STAMP" title="STAMP">AGO</time>
846</td>
847</tr>
848</tbody>
849</table>
850</section>
851<section aria-label="2026-03-06">
852<h2 class="rule-h">
853<span>2026-03-06</span>
854</h2>
855<table class="list commits" aria-label="Commits">
856<tbody data-rows>
857<tr id="c-SHA7">
858<td class="cur" aria-hidden="true">
859</td>
860<td class="c-sha mute">SHA7</td>
861<td class="c-subject">
862<a href="/long/commit/SHA40">commit number 11</a>
863</td>
864<td class="c-ck">
865</td>
866<td class="c-who dim">T</td>
867<td class="c-when nowrap dim">
868<time datetime="STAMP" title="STAMP">AGO</time>
869</td>
870</tr>
871<tr id="c-SHA7">
872<td class="cur" aria-hidden="true">
873</td>
874<td class="c-sha mute">SHA7</td>
875<td class="c-subject">
876<a href="/long/commit/SHA40">commit number 10</a>
877</td>
878<td class="c-ck">
879</td>
880<td class="c-who dim">T</td>
881<td class="c-when nowrap dim">
882<time datetime="STAMP" title="STAMP">AGO</time>
883</td>
884</tr>
885</tbody>
886</table>
887</section>
888<section aria-label="2026-03-05">
889<h2 class="rule-h">
890<span>2026-03-05</span>
891</h2>
892<table class="list commits" aria-label="Commits">
893<tbody data-rows>
894<tr id="c-SHA7">
895<td class="cur" aria-hidden="true">
896</td>
897<td class="c-sha mute">SHA7</td>
898<td class="c-subject">
899<a href="/long/commit/SHA40">commit number 9</a>
900</td>
901<td class="c-ck">
902</td>
903<td class="c-who dim">T</td>
904<td class="c-when nowrap dim">
905<time datetime="STAMP" title="STAMP">AGO</time>
906</td>
907</tr>
908<tr id="c-SHA7">
909<td class="cur" aria-hidden="true">
910</td>
911<td class="c-sha mute">SHA7</td>
912<td class="c-subject">
913<a href="/long/commit/SHA40">commit number 8</a>
914</td>
915<td class="c-ck">
916</td>
917<td class="c-who dim">T</td>
918<td class="c-when nowrap dim">
919<time datetime="STAMP" title="STAMP">AGO</time>
920</td>
921</tr>
922</tbody>
923</table>
924</section>
925<section aria-label="2026-03-04">
926<h2 class="rule-h">
927<span>2026-03-04</span>
928</h2>
929<table class="list commits" aria-label="Commits">
930<tbody data-rows>
931<tr id="c-SHA7">
932<td class="cur" aria-hidden="true">
933</td>
934<td class="c-sha mute">SHA7</td>
935<td class="c-subject">
936<a href="/long/commit/SHA40">commit number 7</a>
937</td>
938<td class="c-ck">
939</td>
940<td class="c-who dim">T</td>
941<td class="c-when nowrap dim">
942<time datetime="STAMP" title="STAMP">AGO</time>
943</td>
944</tr>
945<tr id="c-SHA7">
946<td class="cur" aria-hidden="true">
947</td>
948<td class="c-sha mute">SHA7</td>
949<td class="c-subject">
950<a href="/long/commit/SHA40">commit number 6</a>
951</td>
952<td class="c-ck">
953</td>
954<td class="c-who dim">T</td>
955<td class="c-when nowrap dim">
956<time datetime="STAMP" title="STAMP">AGO</time>
957</td>
958</tr>
959</tbody>
960</table>
961</section>
962<section aria-label="2026-03-03">
963<h2 class="rule-h">
964<span>2026-03-03</span>
965</h2>
966<table class="list commits" aria-label="Commits">
967<tbody data-rows>
968<tr id="c-SHA7">
969<td class="cur" aria-hidden="true">
970</td>
971<td class="c-sha mute">SHA7</td>
972<td class="c-subject">
973<a href="/long/commit/SHA40">commit number 5</a>
974</td>
975<td class="c-ck">
976</td>
977<td class="c-who dim">T</td>
978<td class="c-when nowrap dim">
979<time datetime="STAMP" title="STAMP">AGO</time>
980</td>
981</tr>
982<tr id="c-SHA7">
983<td class="cur" aria-hidden="true">
984</td>
985<td class="c-sha mute">SHA7</td>
986<td class="c-subject">
987<a href="/long/commit/SHA40">commit number 4</a>
988</td>
989<td class="c-ck">
990</td>
991<td class="c-who dim">T</td>
992<td class="c-when nowrap dim">
993<time datetime="STAMP" title="STAMP">AGO</time>
994</td>
995</tr>
996</tbody>
997</table>
998</section>
999<section aria-label="2026-03-02">
1000<h2 class="rule-h">
1001<span>2026-03-02</span>
1002</h2>
1003<table class="list commits" aria-label="Commits">
1004<tbody data-rows>
1005<tr id="c-SHA7">
1006<td class="cur" aria-hidden="true">
1007</td>
1008<td class="c-sha mute">SHA7</td>
1009<td class="c-subject">
1010<a href="/long/commit/SHA40">commit number 3</a>
1011</td>
1012<td class="c-ck">
1013</td>
1014<td class="c-who dim">T</td>
1015<td class="c-when nowrap dim">
1016<time datetime="STAMP" title="STAMP">AGO</time>
1017</td>
1018</tr>
1019<tr id="c-SHA7">
1020<td class="cur" aria-hidden="true">
1021</td>
1022<td class="c-sha mute">SHA7</td>
1023<td class="c-subject">
1024<a href="/long/commit/SHA40">commit number 2</a>
1025</td>
1026<td class="c-ck">
1027</td>
1028<td class="c-who dim">T</td>
1029<td class="c-when nowrap dim">
1030<time datetime="STAMP" title="STAMP">AGO</time>
1031</td>
1032</tr>
1033</tbody>
1034</table>
1035</section>
1036</div>
1037<nav class="pager" aria-label="Pages">
1038<span class="btn" aria-disabled="true">← Newest</span>
1039<a class="btn" href="/long/commits/main?page=YzE6MzMzZGFjMWY5YmY4MjIzMmQxOTAzNGVlZTliZmI2NzFmM2QxMWEzNDo1MDplM2IwYzQ0Mjk4ZmM" rel="next">Older →</a>
1040</nav>
1041</main>
1042<aside class="rail" aria-label="Context">
1043<section aria-labelledby="r-hist">
1044<h2 id="r-hist">History</h2>
1045<dl class="kv">
1046<dt>ref</dt>
1047<dd>main</dd>
1048<dt>on page</dt>
1049<dd>50</dd>
1050</dl>
1051</section>
1052<section aria-labelledby="r-refs">
1053<h2 id="r-refs">Refs on this page</h2>
1054<nav class="outline" aria-label="Refs on this page">
1055<a href="#c-SHA7">branch main</a>
1056</nav>
1057</section>
1058</aside>
1059</div>
1060<footer class="foot">
1061<span>ermite devel</span>
1062<a href="http://example.test/ermite" rel="noopener" title="source of this version (AGPL-3.0-or-later)">source</a>
1063<button type="button" class="foot-keys" data-js data-fire="help" aria-haspopup="dialog" aria-controls="panel-help" aria-keyshortcuts="?">
1064<kbd aria-hidden="true">?</kbd> keyboard shortcuts</button>
1065</footer>
1066<div class="hint" role="status" aria-live="polite">
1067<span class="hint-nav" :text="document.body.dataset.nav || ''">
1068</span>
1069<span class="hint-sel" :text="document.body.dataset.sel ? document.body.dataset.sel + ' · y permalink' : ''">
1070</span>
1071<span class="hint-flash" :text="document.body.dataset.flash || ''">
1072</span>
1073<span class="hint-live" data-state="connecting" hx-sse:connect="/-/events?topic=repo%3Along&view=commits&ref=main&head=SHA40" hx-swap="none" :text="data.state === 'offline' ? 'live updates paused' : ''" hx-on="htmx:sse:after:connection -> ermiteLive.back();
1074 htmx:sse:close, htmx:sse:error -> ermiteLive.lost();
1075 htmx:sse:error -> ermiteLive.error(event.detail.status);
1076 htmx:sse:before:connection -> ermiteLive.gate(event);
1077 home-list, repo-last-push, refs-list, commits-head, mr-notice, ci-run, ci-job -> ermiteLive.swap(event.detail.data);
1078 gap -> ermiteLive.reload()">
1079</span>
1080</div>
1081<dialog id="panel-help" class="panel modal" aria-label="Keyboard shortcuts" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1082<div class="panel-head">
1083<h2>Keyboard shortcuts</h2>
1084<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1085<kbd>esc</kbd> close</button>
1086</div>
1087<div class="keys-pref">
1088<label>
1089<input type="checkbox" id="keys-off" aria-describedby="keys-note" hx-on:change="ermite.setKeysOff(this.checked)"> Turn off single-key shortcuts</label>
1090<p id="keys-note" class="dim">Single-key shortcuts are on. ctrl k and esc work whatever this says.</p>
1091</div>
1092<dl class="keys">
1093<div>
1094<dt>
1095<kbd>ctrl k</kbd>
1096<kbd>:</kbd>
1097</dt>
1098<dd>go to a section, branch, tag, file or repository</dd>
1099</div>
1100<div>
1101<dt>
1102<kbd>?</kbd>
1103</dt>
1104<dd>this list</dd>
1105</div>
1106<div>
1107<dt>
1108<kbd>j</kbd>
1109<kbd>k</kbd>
1110</dt>
1111<dd>move the row cursor down / up</dd>
1112</div>
1113<div>
1114<dt>
1115<kbd>enter</kbd>
1116</dt>
1117<dd>open the row under the cursor; on Files, a directory opens or closes in place</dd>
1118</div>
1119<div>
1120<dt>
1121<kbd>↑</kbd>
1122<kbd>↓</kbd>
1123<kbd>←</kbd>
1124<kbd>→</kbd>
1125<kbd>home</kbd>
1126<kbd>end</kbd>
1127</dt>
1128<dd>in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file</dd>
1129</div>
1130<div>
1131<dt>
1132<kbd>l</kbd>
1133<kbd>h</kbd>
1134</dt>
1135<dd>on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls</dd>
1136</div>
1137<div>
1138<dt>
1139<kbd>g g</kbd>
1140<kbd>G</kbd>
1141</dt>
1142<dd>first / last row</dd>
1143</div>
1144<div>
1145<dt>
1146<kbd>/</kbd>
1147</dt>
1148<dd>filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)</dd>
1149</div>
1150<div>
1151<dt>
1152<kbd>b</kbd>
1153</dt>
1154<dd>switch branch or tag</dd>
1155</div>
1156<div>
1157<dt>
1158<kbd>s</kbd>
1159<kbd>t</kbd>
1160<kbd>c</kbd>
1161<kbd>r</kbd>
1162<kbd>m</kbd>
1163</dt>
1164<dd>tabs: summary, files, commits, branches & tags, merge requests</dd>
1165</div>
1166<div>
1167<dt>
1168<kbd>g h</kbd>
1169</dt>
1170<dd>home</dd>
1171</div>
1172<div>
1173<dt>
1174<kbd>y</kbd>
1175</dt>
1176<dd>copy a permalink pinned to the commit</dd>
1177</div>
1178<div>
1179<dt>
1180<kbd>d</kbd>
1181<kbd>u</kbd>
1182<kbd>x</kbd>
1183</dt>
1184<dd>diff: split / unified / collapse or expand all</dd>
1185</div>
1186<div>
1187<dt>
1188<kbd>e</kbd>
1189<kbd>E</kbd>
1190</dt>
1191<dd>diff: the whole file in view / every file, with the lines the hunks hide</dd>
1192</div>
1193<div>
1194<dt>
1195<kbd>n</kbd>
1196</dt>
1197<dd>merge request: next note in the diff</dd>
1198</div>
1199<div>
1200<dt>
1201<kbd>esc</kbd>
1202</dt>
1203<dd>close a dialog, leave a field</dd>
1204</div>
1205</dl>
1206</dialog>
1207<dialog id="panel-refs" class="panel modal" aria-label="Switch ref" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1208<div class="panel-head">
1209<label for="refs-filter" class="sr">filter branches and tags</label>
1210<input id="refs-filter" type="search" placeholder="Switch branch or tag…" autocomplete="off" data-pick="#panel-refs li" hx-on:input="ermite.filter(this)">
1211<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1212<kbd>esc</kbd>
1213</button>
1214</div>
1215<div class="panel-cols" data-picklist>
1216<section aria-label="Branches">
1217<h2>Branches <span class="count">1</span>
1218</h2>
1219<ul>
1220<li>
1221<a href="/long/tree/main" aria-current="true">
1222<span class="mark" aria-hidden="true">●</span>main</a>
1223</li>
1224</ul>
1225</section>
1226<section aria-label="Tags">
1227<h2>Tags <span class="count">0</span>
1228</h2>
1229<ul>
1230</ul>
1231</section>
1232</div>
1233</dialog>
1234<dialog id="panel-cmd" class="panel modal" aria-label="Go to" hx-on:close="ermiteFinder.paletteClose()" hx-on:keydown="event.key === 'Escape' && (event.preventDefault(), this.close())" hx-on:click="event.target === this && this.close()">
1235<div class="panel-head">
1236<label for="cmd-q" class="sr">go to</label>
1237<input id="cmd-q" type="search" placeholder="Go to a section, branch, tag, file or repository…" autocomplete="off" spellcheck="false" role="combobox" aria-autocomplete="list" aria-expanded="true" aria-controls="cmd-list" aria-activedescendant="cmd-o0" hx-on:input="ermite.cmdFilter(this); ermiteFinder.palette(this)" hx-on:keydown="ermite.cmdKey(event)">
1238<button type="button" class="panel-x" aria-label="Close" hx-on:click="closest('dialog').close()">
1239<kbd>esc</kbd>
1240</button>
1241</div>
1242<ul id="cmd-list" class="cmd-list" role="listbox" aria-label="Targets">
1243<li id="cmd-o0" role="option" aria-selected="true" data-k="go home" data-cursor>
1244<a href="/" tabindex="-1">
1245<span class="lbl">home</span>
1246<span class="k">go</span>
1247</a>
1248</li>
1249<li id="cmd-o1" role="option" aria-selected="false" data-k="section summary">
1250<a href="/long" tabindex="-1">
1251<span class="lbl">summary</span>
1252<span class="k">section</span>
1253</a>
1254</li>
1255<li id="cmd-o2" role="option" aria-selected="false" data-k="section files">
1256<a href="/long/tree/main" tabindex="-1">
1257<span class="lbl">files</span>
1258<span class="k">section</span>
1259</a>
1260</li>
1261<li id="cmd-o3" role="option" aria-selected="false" data-k="section commits">
1262<a href="/long/commits/main" tabindex="-1">
1263<span class="lbl">commits</span>
1264<span class="k">section</span>
1265</a>
1266</li>
1267<li id="cmd-o4" role="option" aria-selected="false" data-k="section branches & tags">
1268<a href="/long/refs" tabindex="-1">
1269<span class="lbl">branches & tags</span>
1270<span class="k">section</span>
1271</a>
1272</li>
1273<li id="cmd-o5" role="option" aria-selected="false" data-k="section merge requests">
1274<a href="/long/merge-requests" tabindex="-1">
1275<span class="lbl">merge requests</span>
1276<span class="k">section</span>
1277</a>
1278</li>
1279<li id="cmd-o6" role="option" aria-selected="false" data-k="section actions">
1280<a href="/long/actions" tabindex="-1">
1281<span class="lbl">actions</span>
1282<span class="k">section</span>
1283</a>
1284</li>
1285<li id="cmd-o7" role="option" aria-selected="false" data-k="branch main">
1286<a href="/long/tree/main" tabindex="-1">
1287<span class="lbl">main</span>
1288<span class="k">branch</span>
1289</a>
1290</li>
1291<li id="cmd-o8" role="option" aria-selected="false" data-k="repo diffs">
1292<a href="/diffs" tabindex="-1">
1293<span class="lbl">diffs</span>
1294<span class="k">repo</span>
1295</a>
1296</li>
1297<li id="cmd-o9" role="option" aria-selected="false" data-k="action turn single-key shortcuts on off keyboard">
1298<a href="#" data-fire="keys" tabindex="-1">
1299<span class="lbl">turn single-key shortcuts off</span>
1300<span class="k">action</span>
1301</a>
1302</li>
1303</ul>
1304<p class="panel-foot">
1305<span>
1306<kbd>↑</kbd>
1307<kbd>↓</kbd> move</span>
1308<span>
1309<kbd>enter</kbd> open</span>
1310<span>
1311<kbd>esc</kbd> close</span>
1312</p>
1313</dialog>
1314<div id="keys" hidden hx-on="k-j from:body -> ermite.move(1);
1315 k-k from:body -> ermite.move(-1);
1316 k-top from:body -> ermite.edge(false);
1317 k-bottom from:body -> ermite.edge(true);
1318 k-open from:body -> ermite.open();
1319 k-right from:body -> ermite.rail(true);
1320 k-left from:body -> ermite.rail(false);
1321 k-esc from:body -> ermite.closeDialogs();
1322 k-help from:body -> ermite.dialog('panel-help');
1323 k-refs from:body -> ermite.dialog('panel-refs', 'refs-filter');
1324 k-cmd from:body -> ermite.dialog('panel-cmd', 'cmd-q'); ermiteFinder.load();
1325 k-filter from:body -> ermite.focusFilter();
1326 k-gh from:body -> ermite.go('.brand');
1327 k-s from:body -> ermite.tab('s');
1328 k-t from:body -> ermite.tab('t');
1329 k-c from:body -> ermite.tab('c');
1330 k-r from:body -> ermite.tab('r');
1331 k-m from:body -> ermite.tab('m');
1332 k-next from:body -> ermite.nextNote();
1333 k-split from:body -> ermite.layout('split');
1334 k-unified from:body -> ermite.layout('unified');
1335 k-collapse from:body -> ermite.collapse();
1336 k-expand from:body -> ermite.expandFile();
1337 k-expandAll from:body -> ermite.expandAll();
1338 k-permalink from:body -> ermite.permalink();
1339 k-merge from:body -> window.ermiteMR?.openMerge();
1340 k-read from:body -> window.ermiteMR?.markRead();
1341 k-gf from:body -> window.ermiteMR?.focusFiles();
1342 k-keys from:body -> ermite.toggleKeys()">
1343</div>
1344</body>
1345</html>