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.
docs/change-requests.md +7
| @@ -38,6 +38,13 @@ vole change approve <id> --as <your-name> | |||
| 38 | 38 | git push origin feature:refs/heads/main | |
| 39 | 39 | ``` | |
| 40 | 40 | ||
| 41 | The request records the commit under review in `head:` and the branch it was opened | ||
| 42 | from in `head_ref:`, and the request page, the request list and `vole change show` | ||
| 43 | show both. The branch is a display hint, not part of the review: approvals, checks, | ||
| 44 | the diff and the landing gate all name the commit, and when the branch moves past it | ||
| 45 | the page says so instead of presenting the new tip as reviewed. A request opened | ||
| 46 | from a bare commit id records no branch. | ||
| 47 | |||
| 41 | 48 | Other commands: | |
| 42 | 49 | ||
| 43 | 50 | ```sh | |