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.

Add repository settings for description, branch, and visibility

1948358f9719cd0e5a15bd75a5d5dd3640e4ea82 · Keenan Nemetz · 15d ago · parent e84a66f5

Add repository settings for description, branch, and visibility

The Settings tab is shown only to repository admins and edits the facts that
repository owns: description, default branch (validated and required to exist),
and public/private visibility. Visibility toggles the ACL default between none
and read and leaves explicit entries alone; access rules stay an instance-admin
operation.

The page is read-gated before it is admin-gated, so a private repository still
answers 404 rather than confirming that settings exist. Saves carry CSRF, are
audited, and refresh the repository index. Adds Meta setters for the description
file and HEAD, plus git helpers to validate a branch and point HEAD at it.

docs/ui-plan.md +7−6

@@ -48,8 +48,8 @@ filters. Code is an editor-style browser: a persistent tree on the left and the
48 48 open file in the large right-hand pane; file and folder links swap only that pane
49 49 through HTMX. Markdown opens as source; a Source/Preview toggle renders it at full
50 50 pane width. The branch crumb returns to the Code overview rather than opening a
51 second directory listing. Settings appears once the page exists and the viewer
52 has an admin role.
51 second directory listing. Settings appears for the viewer when the repository
52 ACL gives them the admin role.
53 53
54 54 ## Surfaces
55 55
@@ -85,8 +85,8 @@ Status: `done` exists today · `wip` in progress · `todo` missing.
85 85 changes, releases, runs, type filters, and HTMX fragment updates
86 86 - todo — activity events from metadata-log state changes (closed/reopened),
87 87 actor filter, and assignee filter
88 - todo — repository settings: description, default branch, ACL, visibility,
89 danger zone
88 - done — repository settings: description, default branch, visibility
89 - todo — danger zone (rename/delete); ACL editing stays instance admin
90 90 - todo — compare view (`/r/{name}/compare/{base}...{head}`)
91 91 - todo — file history and blame
92 92 - todo — language-aware file icons
@@ -113,8 +113,9 @@ Status: `done` exists today · `wip` in progress · `todo` missing.
113 113 3. **Issues and changes** — done: list/detail layout, composer, filters,
114 114 close/reopen, discussion, label/assignee triage, writing inline review
115 115 comments.
116 4. **Activity and settings** — repository activity feed, repository settings,
117 ACL editor.
116 4. **Activity and settings** — repository activity feed and repository settings
117 (description, default branch, visibility) are done. Remaining: ACL editor,
118 danger zone, and metadata-backed close/reopen events.
118 119 5. **Instance admin** — users, invitations, keys, repositories, permissions.
119 120 6. **CI** — workflow/job list, rerun/cancel.
120 121 7. **Polish** — search, responsive pass, accessibility pass, light theme,