Sign in

Search issue titles and bodies, change requests and comments. Private repositories you cannot read are not included.

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.

Serve changes at /r/<repo>/changes

8fb7aabf534adf208cd795724b1e3d287dc62f5a · Keenan Nemetz · 3d ago · parent b492b557

Serve changes at /r/<repo>/changes

The metadata tree and the interface say changes; the browser was the last
place spelling the route requests. Rename every method on that subtree and
the URLs the server builds: redirects, activity and search results, the
number alias, code links, templates, and the CLI's page links.

The old route is gone rather than aliased. Nothing has been publicly
released, so there is no bookmark or client to keep working, and a redirect
would leave two spellings of the same page in the code.

Refs #204 (01M6S6685JFG8S64ZFF452217W).

server/routes.go +21−21

@@ -161,27 +161,27 @@ func (s *Server) repoRoutes(mux *http.ServeMux) {
161 161
162 162 // Change requests: conversation, the Files tab, the Runs tab, and the
163 163 // approval and comment writes.
164 mux.HandleFunc("GET /r/{name}/requests", w.Requests)
165 mux.HandleFunc("GET /r/{name}/requests/new", w.NewChangePage)
166 mux.HandleFunc("POST /r/{name}/requests", w.CreateChangeRequest)
167 mux.HandleFunc("GET /r/{name}/requests/{id}", w.RequestView)
168 mux.HandleFunc("GET /r/{name}/requests/{id}/edit", w.RequestEditPage)
169 mux.HandleFunc("POST /r/{name}/requests/{id}/edit", w.UpdateRequestDetails)
170 mux.HandleFunc("GET /r/{name}/requests/{id}/files", w.RequestFiles)
171 mux.HandleFunc("GET /r/{name}/requests/{id}/files/{path...}", w.RequestFiles)
172 mux.HandleFunc("GET /r/{name}/requests/{id}/runs", w.RequestRuns)
173 mux.HandleFunc("GET /r/{name}/requests/{id}/live", w.RequestLive)
174 mux.HandleFunc("GET /r/{name}/requests/{id}/issues/search", w.SearchRequestIssues)
175 mux.HandleFunc("GET /r/{name}/requests/{id}/comment-form", w.RequestCommentForm)
176 mux.HandleFunc("POST /r/{name}/requests/{id}/approve", w.ApproveRequest)
177 mux.HandleFunc("POST /r/{name}/requests/{id}/merge", w.MergeRequest)
178 mux.HandleFunc("POST /r/{name}/requests/{id}/merge/cancel", w.CancelMerge)
179 mux.HandleFunc("POST /r/{name}/requests/{id}/comments", w.AddRequestComment)
180 mux.HandleFunc("POST /r/{name}/requests/{id}/comments/{comment}/edit", w.EditRequestComment)
181 mux.HandleFunc("POST /r/{name}/requests/{id}/comments/{comment}/delete", w.DeleteRequestComment)
182 mux.HandleFunc("POST /r/{name}/requests/{id}/state", w.ChangeRequestState)
183 mux.HandleFunc("POST /r/{name}/requests/{id}/target", w.UpdateRequestTarget)
184 mux.HandleFunc("POST /r/{name}/requests/{id}/issues", w.UpdateRequestIssues)
164 mux.HandleFunc("GET /r/{name}/changes", w.Requests)
165 mux.HandleFunc("GET /r/{name}/changes/new", w.NewChangePage)
166 mux.HandleFunc("POST /r/{name}/changes", w.CreateChangeRequest)
167 mux.HandleFunc("GET /r/{name}/changes/{id}", w.RequestView)
168 mux.HandleFunc("GET /r/{name}/changes/{id}/edit", w.RequestEditPage)
169 mux.HandleFunc("POST /r/{name}/changes/{id}/edit", w.UpdateRequestDetails)
170 mux.HandleFunc("GET /r/{name}/changes/{id}/files", w.RequestFiles)
171 mux.HandleFunc("GET /r/{name}/changes/{id}/files/{path...}", w.RequestFiles)
172 mux.HandleFunc("GET /r/{name}/changes/{id}/runs", w.RequestRuns)
173 mux.HandleFunc("GET /r/{name}/changes/{id}/live", w.RequestLive)
174 mux.HandleFunc("GET /r/{name}/changes/{id}/issues/search", w.SearchRequestIssues)
175 mux.HandleFunc("GET /r/{name}/changes/{id}/comment-form", w.RequestCommentForm)
176 mux.HandleFunc("POST /r/{name}/changes/{id}/approve", w.ApproveRequest)
177 mux.HandleFunc("POST /r/{name}/changes/{id}/merge", w.MergeRequest)
178 mux.HandleFunc("POST /r/{name}/changes/{id}/merge/cancel", w.CancelMerge)
179 mux.HandleFunc("POST /r/{name}/changes/{id}/comments", w.AddRequestComment)
180 mux.HandleFunc("POST /r/{name}/changes/{id}/comments/{comment}/edit", w.EditRequestComment)
181 mux.HandleFunc("POST /r/{name}/changes/{id}/comments/{comment}/delete", w.DeleteRequestComment)
182 mux.HandleFunc("POST /r/{name}/changes/{id}/state", w.ChangeRequestState)
183 mux.HandleFunc("POST /r/{name}/changes/{id}/target", w.UpdateRequestTarget)
184 mux.HandleFunc("POST /r/{name}/changes/{id}/issues", w.UpdateRequestIssues)
185 185 mux.HandleFunc("POST /r/{name}/ci/allow", w.AllowContributorCI)
186 186
187 187 // Releases. A tag may contain "/", so the detail route takes the rest of the