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, | |