vole
Clone
Read only, no credentials:
https://rodent.software/git/vole.git
Write over SSH with a registered key:
git clone ssh://git@0.0.0.0:2222/vole.git
A free and open-source forge that lives in your Git repo.
Merge change request 01M70WES5ZZDJ6RP226WB11BBZ: Let people rename and remove their own passkeys
keenan · 1h ago
4b8c9e1d
| 1 | {{define "blame"}} |
| 2 | {{template "header" .}} |
| 3 | {{template "repohead" (nav .Page "code")}} |
| 4 | |
| 5 | <div class="page-head"> |
| 6 | <div class="page-head-main"> |
| 7 | <h1>Blame · {{.Path}}</h1> |
| 8 | <p class="page-sub">Line attribution on <code>{{.Ref}}</code> · {{.Lines}} line(s){{if .Truncated}} · showing the first 1 MiB{{end}}</p> |
| 9 | </div> |
| 10 | <div class="page-head-actions"> |
| 11 | <a class="button secondary" href="/{{.Name}}/blob/{{esc .Ref}}/{{pathurl .Path}}">{{icon "file"}}View file</a> |
| 12 | <a class="button secondary" href="/{{.Name}}/commits/{{esc .Ref}}/{{pathurl .Path}}">{{icon "history"}}History</a> |
| 13 | </div> |
| 14 | </div> |
| 15 | |
| 16 | {{if .Blocks}} |
| 17 | <div class="panel blame-panel"> |
| 18 | <table class="blame"> |
| 19 | <tbody> |
| 20 | {{range .Blocks}}{{$block := .}} |
| 21 | {{range $i, $line := .Lines}} |
| 22 | <tr> |
| 23 | {{if eq $i 0}} |
| 24 | <td class="blame-meta" rowspan="{{len $block.Lines}}"> |
| 25 | <a class="sha" href="/{{$.Name}}/commit/{{$block.SHA}}">{{short $block.SHA}}</a> |
| 26 | <div>{{who $block.Author}}</div> |
| 27 | <div class="muted">{{since $block.When}}</div> |
| 28 | </td> |
| 29 | {{end}} |
| 30 | <td class="ln">{{$line.Line}}</td> |
| 31 | <td class="code">{{$line.Text}}</td> |
| 32 | </tr> |
| 33 | {{end}} |
| 34 | {{end}} |
| 35 | </tbody> |
| 36 | </table> |
| 37 | </div> |
| 38 | {{else}} |
| 39 | <div class="empty-state"><p>That file is empty.</p></div> |
| 40 | {{end}} |
| 41 | {{template "footer" .}} |
| 42 | {{end}} |
| 43 |