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.
Stack the change request target fields
b74cb029a397c46ecf418e64b5d9d4d47a7c4028 · Keenan Nemetz · 11d ago · parent d69be4df
Stack the change request target fields The base and head selects now sit on their own labelled rows, so long branch names are readable instead of being squeezed beside the arrow and update control. The current head and Update action share the row below.
server/web/templates/requests.html +18−11
| @@ -136,18 +136,25 @@ | |||
| 136 | 136 | {{if .CanRetarget}} | |
| 137 | 137 | <form method="post" action="/r/{{.Name}}/requests/{{.Request.ID}}/target" class="request-target"> | |
| 138 | 138 | <input type="hidden" name="csrf" value="{{.CSRF}}"> | |
| 139 | <div class="target-row"> | ||
| 140 | <select name="base" aria-label="Base branch"> | ||
| 141 | {{range .BaseOptions}}<option value="{{.Name}}"{{if .Selected}} selected{{end}}>{{.Name}}</option>{{end}} | ||
| 142 | </select> | ||
| 143 | <span class="muted" aria-hidden="true">←</span> | ||
| 144 | <select name="head" aria-label="Head branch"> | ||
| 145 | {{if not .Request.HeadRef}}<option value="" selected>commit {{short .Request.Head}} (pinned)</option>{{end}} | ||
| 146 | {{range .HeadOptions}}<option value="{{.Name}}"{{if .Selected}} selected{{end}}>{{.Name}}</option>{{end}} | ||
| 147 | </select> | ||
| 148 | <button class="secondary" type="submit" title="Update base and head" aria-label="Update base and head">{{icon "rotate-ccw"}}</button> | ||
| 139 | <div class="target-fields"> | ||
| 140 | <label class="target-field"> | ||
| 141 | <span class="target-label">Base branch</span> | ||
| 142 | <select name="base"> | ||
| 143 | {{range .BaseOptions}}<option value="{{.Name}}"{{if .Selected}} selected{{end}}>{{.Name}}</option>{{end}} | ||
| 144 | </select> | ||
| 145 | </label> | ||
| 146 | <label class="target-field"> | ||
| 147 | <span class="target-label">Head branch</span> | ||
| 148 | <select name="head"> | ||
| 149 | {{if not .Request.HeadRef}}<option value="" selected>commit {{short .Request.Head}} (pinned)</option>{{end}} | ||
| 150 | {{range .HeadOptions}}<option value="{{.Name}}"{{if .Selected}} selected{{end}}>{{.Name}}</option>{{end}} | ||
| 151 | </select> | ||
| 152 | </label> | ||
| 153 | </div> | ||
| 154 | <div class="target-actions"> | ||
| 155 | <p class="muted small">head <a class="sha" href="/r/{{.Name}}/commit/{{.Request.Head}}">{{short .Request.Head}}</a>{{if .HeadRefNote}} · {{.HeadRefNote}}{{end}}</p> | ||
| 156 | <button class="secondary" type="submit" title="Update base and head" aria-label="Update base and head">{{icon "rotate-ccw"}}Update</button> | ||
| 149 | 157 | </div> | |
| 150 | <p class="muted small">head <a class="sha" href="/r/{{.Name}}/commit/{{.Request.Head}}">{{short .Request.Head}}</a>{{if .HeadRefNote}} · {{.HeadRefNote}}{{end}}</p> | ||
| 151 | 158 | </form> | |
| 152 | 159 | {{else}} | |
| 153 | 160 | <p class="target-summary"> | |