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.
Unify account terminology and clarify ACL commands
2e024cc96a391c0959ad2914caeed78b600fcfc1 · Keenan Nemetz · 14d ago · parent ab326d3a
Unify account terminology and clarify ACL commands Use account consistently in the CLI, help, docs, and remote admin messages. Rename the CLI account command from user to account while retaining the old user spelling as an alias. Replace positional ACL mutations with explicit verbs such as set-role, protect add, runners remove, and checks enable. Update local and remote admin parsing, hints, docs, and tests. Tidy repository filter alignment and remove duplicated issue/change counts from page subtitles.
server/web/templates/requests.html +2−3
| @@ -5,7 +5,6 @@ | |||
| 5 | 5 | <div class="page-head"> | |
| 6 | 6 | <div class="page-head-main"> | |
| 7 | 7 | <h1>Change requests</h1> | |
| 8 | <p class="page-sub">{{.Open}} open · {{.Closed}} closed · {{.Total}} total</p> | ||
| 9 | 8 | </div> | |
| 10 | 9 | {{if .CanOpen}}<div class="page-head-actions"><a class="button" href="/r/{{.Name}}/requests/new">{{icon "plus"}}New change request</a></div>{{end}} | |
| 11 | 10 | </div> | |
| @@ -24,9 +23,9 @@ | |||
| 24 | 23 | ||
| 25 | 24 | <form method="get" action="/r/{{.Name}}/requests" class="filters" hx-get="/r/{{.Name}}/requests" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true"> | |
| 26 | 25 | <input type="hidden" name="state" value="{{.State}}"> | |
| 27 | <input name="q" type="text" placeholder="Search title, description and author" value="{{.Query}}"> | ||
| 26 | <input name="q" type="search" placeholder="Search title, description and author" value="{{.Query}}"> | ||
| 28 | 27 | <button type="submit">{{icon "sliders-horizontal"}}Filter</button> | |
| 29 | {{if .Filtered}}<a href="/r/{{.Name}}/requests" hx-get="/r/{{.Name}}/requests" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">clear</a>{{end}} | ||
| 28 | {{if .Filtered}}<a class="button secondary" href="/r/{{.Name}}/requests" hx-get="/r/{{.Name}}/requests" hx-target="#change-list" hx-swap="outerHTML" hx-push-url="true">{{icon "x"}}Clear</a>{{end}} | ||
| 30 | 29 | </form> | |
| 31 | 30 | ||
| 32 | 31 | {{if .Rows}} | |