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.
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/web/requests.go +2−2
| @@ -282,7 +282,7 @@ func requestListURL(name, state, query string, page int) string { | |||
| 282 | 282 | if page > 1 { | |
| 283 | 283 | v.Set("page", strconv.Itoa(page)) | |
| 284 | 284 | } | |
| 285 | return "/r/" + name + "/requests?" + v.Encode() | ||
| 285 | return "/r/" + name + "/changes?" + v.Encode() | ||
| 286 | 286 | } | |
| 287 | 287 | ||
| 288 | 288 | // NewChangePage serves the dedicated new-change form. The list page only links | |
| @@ -360,7 +360,7 @@ func (w *Web) requestComments(m *repo.Meta, req *metadata.Request) []commentView | |||
| 360 | 360 | c.Current = currentBlob(c.Anchor.Side, c.Anchor.Path) == c.Anchor.Blob | |
| 361 | 361 | c.Snippet = buildCommentSnippet(m.Git(), c.Anchor, snippetBlobs) | |
| 362 | 362 | if c.Snippet != nil { | |
| 363 | c.Snippet.FilesURL = "/r/" + m.Name + "/requests/" + req.ID + | ||
| 363 | c.Snippet.FilesURL = "/r/" + m.Name + "/changes/" + req.ID + | ||
| 364 | 364 | "/files/" + pathURL(c.Snippet.Path) + "#inline-c-" + c.ID | |
| 365 | 365 | } | |
| 366 | 366 | } | |