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

@@ -32,7 +32,7 @@ func TestRepositoryPagesShareTheTabHeader(t *testing.T) {
32 32 "/r/" + f.repo + "/activity",
33 33 "/r/" + f.repo + "/code",
34 34 "/r/" + f.repo + "/issues",
35 "/r/" + f.repo + "/requests",
35 "/r/" + f.repo + "/changes",
36 36 "/r/" + f.repo + "/releases",
37 37 "/r/" + f.repo + "/runs",
38 38 "/r/" + f.repo + "/locks",
@@ -525,7 +525,7 @@ func TestOverviewShowsRecentOpenIssuesAndChanges(t *testing.T) {
525 525 "Recent issues", "Recent changes",
526 526 "Overview open issue", "Overview open change",
527 527 `href="/r/` + f.repo + `/issues/` + openIssueID + `"`,
528 `href="/r/` + f.repo + `/requests/` + openChangeID + `"`,
528 `href="/r/` + f.repo + `/changes/` + openChangeID + `"`,
529 529 } {
530 530 if !strings.Contains(body, want) {
531 531 t.Fatalf("overview does not show %q:\n%s", want, body)
@@ -766,7 +766,7 @@ func TestFilterRowsShareOneShape(t *testing.T) {
766 766 // Text search is the same button on every page: an icon and the word Search.
767 767 for _, path := range []string{
768 768 "/r/" + f.repo + "/issues",
769 "/r/" + f.repo + "/requests",
769 "/r/" + f.repo + "/changes",
770 770 "/r/" + f.repo + "/search",
771 771 "/r/" + f.repo + "/code",
772 772 } {
@@ -889,7 +889,7 @@ func TestFilterRowPutsFiltersBeforeSearch(t *testing.T) {
889 889 chips bool
890 890 }{
891 891 {"/r/" + f.repo + "/issues", true},
892 {"/r/" + f.repo + "/requests", true},
892 {"/r/" + f.repo + "/changes", true},
893 893 {"/r/" + f.repo + "/activity?actor=keenan", true},
894 894 {"/r/" + f.repo + "/code", false},
895 895 {"/r/" + f.repo + "/search", false},