vole
Clone
Read only, no credentials:
https://rodent.software/vole.git
Write over SSH with a registered key:
git clone ssh://git@rodent.software:2222/vole.git
A free and open-source forge that lives in your Git repo.
Unify terminology across the web UI and docs
ab326d3ac1fd947a9df45f31f6dc10ab38627882 · Keenan Nemetz · 14d ago · parent 5b814e99
Unify terminology across the web UI and docs Use account, repository, change request, enrollment link, instance admin, and sign in/out consistently. Rename the access guide to accounts-and-access.md, update its links, and record the canonical terms and retained command/URL spellings in the documentation index.
server/web/activity.go +7−7
| @@ -139,13 +139,13 @@ func (w *Web) repoActivity(m *repo.Meta, kind, actor, assignee string) activityF | |||
| 139 | 139 | events = append(events, activityEvent{ | |
| 140 | 140 | Kind: "change", Icon: "git-pull-request", Time: req.Created, | |
| 141 | 141 | Actor: w.who(req.Author), ActorName: req.Author, Title: req.Title, | |
| 142 | Detail: "opened change", URL: "/r/" + m.Name + "/requests/" + req.ID, | ||
| 142 | Detail: "opened change request", URL: "/r/" + m.Name + "/requests/" + req.ID, | ||
| 143 | 143 | }) | |
| 144 | 144 | for _, c := range req.Comments { | |
| 145 | 145 | events = append(events, activityEvent{ | |
| 146 | 146 | Kind: "change", Icon: "message-square", Time: c.Created, | |
| 147 | 147 | Actor: w.who(c.Author), ActorName: c.Author, Title: req.Title, | |
| 148 | Detail: "commented on change", | ||
| 148 | Detail: "commented on change request", | ||
| 149 | 149 | URL: "/r/" + m.Name + "/requests/" + req.ID + "#c-" + c.ID, | |
| 150 | 150 | }) | |
| 151 | 151 | } | |
| @@ -153,7 +153,7 @@ func (w *Web) repoActivity(m *repo.Meta, kind, actor, assignee string) activityF | |||
| 153 | 153 | events = append(events, activityEvent{ | |
| 154 | 154 | Kind: "change", Icon: "check", Time: a.Created, | |
| 155 | 155 | Actor: w.who(a.Principal), ActorName: a.Principal, Title: req.Title, | |
| 156 | Detail: "approved", | ||
| 156 | Detail: "approved change request", | ||
| 157 | 157 | URL: "/r/" + m.Name + "/requests/" + req.ID, | |
| 158 | 158 | }) | |
| 159 | 159 | } | |
| @@ -262,11 +262,11 @@ func issueStateDetail(state string) string { | |||
| 262 | 262 | func requestStateDetail(state string) string { | |
| 263 | 263 | switch state { | |
| 264 | 264 | case "closed": | |
| 265 | return "closed change" | ||
| 265 | return "closed change request" | ||
| 266 | 266 | case "merged": | |
| 267 | return "merged change" | ||
| 267 | return "merged change request" | ||
| 268 | 268 | } | |
| 269 | return "reopened change" | ||
| 269 | return "reopened change request" | ||
| 270 | 270 | } | |
| 271 | 271 | ||
| 272 | 272 | func (w *Web) activityActors() []activityActor { | |
| @@ -284,7 +284,7 @@ func (w *Web) activityActors() []activityActor { | |||
| 284 | 284 | } | |
| 285 | 285 | ||
| 286 | 286 | // Activity serves the repository activity tab. It is separate from Overview so | |
| 287 | // the project summary and the chronological feed can both exist without either | ||
| 287 | // the repository summary and the chronological feed can both exist without either | ||
| 288 | 288 | // becoming a compromise. | |
| 289 | 289 | func (w *Web) Activity(rw http.ResponseWriter, r *http.Request) { | |
| 290 | 290 | m, ok := w.open(rw, r) | |