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.
Show which branch a change request came from
8e1005eb2c104934adef950c5afc090d4025ce06 · Keenan Nemetz · 13d ago · parent b7ac1a00
Show which branch a change request came from A request records the exact commit under review, and the page showed only that: `main ← 43f98bcd`. The branch the work is on is how people talk about a change, fetch it, and find it after it lands, and it was being thrown away when the request was opened — the web form resolved the chosen branch to a commit and kept only the commit. `request.md` now records `head_ref:` beside `head:`. It is a display hint and nothing else: approvals, checks, the diff and the landing gate still name the commit, and a test pins that a branch name cannot authorise a different tip. The request page, the request list and `vole change show` show it, and the page marks the branch as moved or deleted when it no longer points at the reviewed commit, so the name reads as provenance rather than as a claim about what is being reviewed. It is optional on read: records written before it existed still load, and a request opened from a bare commit id records no branch.
server/web/templates/requests.html +2−2
| @@ -42,7 +42,7 @@ | |||
| 42 | 42 | <a class="row-title" href="/r/{{$.Name}}/requests/{{.ID}}">{{.Title}}</a> | |
| 43 | 43 | <div class="row-meta"><span class="sha">#{{short .ID}}</span><span>{{len .Comments}} comment(s)</span></div> | |
| 44 | 44 | </td> | |
| 45 | <td><code>{{.Base}}</code> <span class="muted">←</span> <span class="sha">{{short .Head}}</span></td> | ||
| 45 | <td><code>{{.Base}}</code> <span class="muted">←</span> {{if .HeadRef}}<code title="the branch the request was opened from">{{.HeadRef}}</code> {{end}}<span class="sha">{{short .Head}}</span></td> | ||
| 46 | 46 | <td class="muted nowrap">{{who .Author}}</td> | |
| 47 | 47 | <td class="muted">{{.Current}}/{{$.Required}}</td> | |
| 48 | 48 | <td class="muted nowrap">{{since .Created.Unix}}</td> | |
| @@ -106,7 +106,7 @@ | |||
| 106 | 106 | <h2>{{icon "git-branch"}}Review</h2> | |
| 107 | 107 | <dl class="meta-list"> | |
| 108 | 108 | <dt>Base</dt><dd><code>{{.Request.Base}}</code></dd> | |
| 109 | <dt>Head</dt><dd><a class="sha" href="/r/{{.Name}}/commit/{{.Request.Head}}">{{short .Request.Head}}</a></dd> | ||
| 109 | <dt>Head</dt><dd>{{with .Request.HeadRef}}<code title="the branch the request was opened from">{{.}}</code>{{if $.HeadRefNote}} <span class="muted">({{$.HeadRefNote}})</span>{{end}} {{end}}<a class="sha" href="/r/{{.Name}}/commit/{{.Request.Head}}">{{short .Request.Head}}</a></dd> | ||
| 110 | 110 | </dl> | |
| 111 | 111 | </section> | |
| 112 | 112 | ||