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/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/activity_query.go +4−4

@@ -46,7 +46,7 @@ func (w *Web) activityEventFromRow(row index.EventRow, repoName string, withRepo
46 46 ev.URL = base + "/issues/" + row.EntityID
47 47 } else {
48 48 ev.Detail = "opened change"
49 ev.URL = base + "/requests/" + row.EntityID
49 ev.URL = base + "/changes/" + row.EntityID
50 50 }
51 51 case "comment":
52 52 ev.Icon = "message-square"
@@ -55,18 +55,18 @@ func (w *Web) activityEventFromRow(row index.EventRow, repoName string, withRepo
55 55 ev.URL = base + "/issues/" + row.ParentID + "#c-" + row.CommentID
56 56 } else {
57 57 ev.Detail = "commented on change"
58 ev.URL = base + "/requests/" + row.ParentID + "#c-" + row.CommentID
58 ev.URL = base + "/changes/" + row.ParentID + "#c-" + row.CommentID
59 59 }
60 60 case "approval":
61 61 ev.Icon, ev.Detail = "check", "approved change"
62 ev.URL = base + "/requests/" + row.EntityID
62 ev.URL = base + "/changes/" + row.EntityID
63 63 case "state":
64 64 if row.Kind == "issue" {
65 65 ev.Detail = issueStateDetail(row.State)
66 66 ev.URL = base + "/issues/" + row.EntityID
67 67 } else {
68 68 ev.Detail = requestStateDetail(row.State)
69 ev.URL = base + "/requests/" + row.EntityID
69 ev.URL = base + "/changes/" + row.EntityID
70 70 }
71 71 }
72 72 return ev