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 · 16m ago
4b8c9e1d
| 1 | {{/* Commit history for a ref, and one commit with the files it touched. The code |
| 2 | browser links here; commit.go and the Commits handler render these. A commit |
| 3 | opens one file's diff at a time, in the same tree-and-pane shape as a |
| 4 | change's Files tab, so a broad commit does not render every patch at once. */}} |
| 5 | {{define "commits"}} |
| 6 | {{template "header" .}} |
| 7 | {{template "repohead" (nav .Page "code")}} |
| 8 | <div class="page-head"> |
| 9 | <div class="page-head-main"> |
| 10 | <h1>History</h1> |
| 11 | <p class="page-sub"><a href="/{{.Name}}/code?ref={{esc .Ref}}">{{.Ref}}</a> · newest first</p> |
| 12 | </div> |
| 13 | </div> |
| 14 | <div class="panel"> |
| 15 | {{template "commitlist" .}} |
| 16 | </div> |
| 17 | {{template "footer" .}} |
| 18 | {{end}} |
| 19 | |
| 20 | {{define "commit"}} |
| 21 | {{template "header" .}} |
| 22 | {{template "repohead" (nav .Page "code")}} |
| 23 | <div class="page-head"> |
| 24 | <div class="page-head-main"> |
| 25 | <h1>{{.Commit.Subject}}</h1> |
| 26 | <p class="page-sub"> |
| 27 | <span class="sha">{{.Commit.SHA}}</span> · {{.Commit.Author}} · {{since .Commit.When}} |
| 28 | {{if .Parents}} · parent {{range .Parents}}<a class="sha" href="/{{$.Name}}/commit/{{.}}">{{short .}}</a> {{end}}{{end}} |
| 29 | </p> |
| 30 | </div> |
| 31 | </div> |
| 32 | {{if and .Body (ne .Body .Commit.Subject)}}<pre>{{.Body}}</pre>{{end}} |
| 33 | <div class="code-browser review-browser"> |
| 34 | <aside class="file-tree review-tree" id="review-tree" aria-label="Changed files"> |
| 35 | <div class="tree-head"> |
| 36 | <span>{{icon "file"}}Changes</span> |
| 37 | <span class="muted">{{.FileCount}} changed</span> |
| 38 | </div> |
| 39 | {{if .Tree}} |
| 40 | <div class="tree-scroll">{{template "tree_nodes" (commitTreeContext .Name .Commit.SHA .Tree)}}</div> |
| 41 | {{if .FilesTruncated}}<p class="tree-note">Showing the first 4,000 files.</p>{{end}} |
| 42 | {{else}} |
| 43 | <p class="tree-empty muted">This commit changed no files.</p> |
| 44 | {{end}} |
| 45 | </aside> |
| 46 | {{template "commit_main" .Main}} |
| 47 | </div> |
| 48 | {{template "footer" .}} |
| 49 | {{end}} |
| 50 | |
| 51 | {{define "commit_main"}} |
| 52 | <section id="review-main" class="review-main" data-path="{{.Path}}"> |
| 53 | {{if .Files}} |
| 54 | {{template "diff" .}} |
| 55 | {{else}} |
| 56 | <div class="empty-state"><p>This commit changed no files against its parent.</p></div> |
| 57 | {{end}} |
| 58 | </section> |
| 59 | {{end}} |
| 60 |