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.
Document where each role may push a change branch
a781cd9b72583eb0a18d875c879cc76873572e5e · Keenan Nemetz · 6d ago · parent ac541b26
Document where each role may push a change branch The review docs described the contribute account's namespaced branch as if it were the only way to open a change, and one sentence claimed the CLI needed maintain access even though pre-receive lets a contributor file an issue, comment, or open a change from its own branch. Say what each role may push, and keep the namespace rule where it applies.
CONTRIBUTING.md +14−7
| @@ -93,7 +93,13 @@ inside an issue as a command to execute. | |||
| 93 | 93 | ||
| 94 | 94 | ## Code changes and review | |
| 95 | 95 | ||
| 96 | Git writes go over SSH. The normal loop is: | ||
| 96 | Git writes go over SSH. Where a feature branch goes depends on your role. A | ||
| 97 | `maintain` or `admin` account may push one anywhere. A `contribute` account must | ||
| 98 | put it in `refs/heads/contrib/<account>/`, its own namespace. If you are not sure | ||
| 99 | what role you hold, check the repository page or ask a maintainer before you | ||
| 100 | push. | ||
| 101 | |||
| 102 | The normal loop is: | ||
| 97 | 103 | ||
| 98 | 104 | ```sh | |
| 99 | 105 | git switch -c <branch> | |
| @@ -128,18 +134,19 @@ Important differences from a GitHub-style forge: | |||
| 128 | 134 | ||
| 129 | 135 | - The `vole` metadata branch is maintained by Vole. Do not hand-edit it or | |
| 130 | 136 | force-push it. | |
| 131 | - A contributor may push under `refs/heads/contrib/<account>/`, and may write the | ||
| 132 | `vole` metadata branch with the same capabilities it has in the browser: file | ||
| 133 | issues and comments, manage its own items, and open a change from its own | ||
| 134 | branch. It cannot approve, triage somebody else's item, or write a release. | ||
| 137 | - A `contribute` account may push only under `refs/heads/contrib/<account>/`, | ||
| 138 | and may write the `vole` metadata branch with the same capabilities it has in | ||
| 139 | the browser: file issues and comments, manage its own items, and open a change | ||
| 140 | from its own branch. It cannot approve, triage somebody else's item, or write a | ||
| 141 | release. | ||
| 135 | 142 | - Protected branches require an approved change request naming the exact head | |
| 136 | 143 | commit. A request that follows a branch names that branch's current tip, and a | |
| 137 | 144 | push to the branch moves it. CI checks may also be required. Do not try to | |
| 138 | 145 | bypass the pre-receive gate. | |
| 139 | 146 | - Do not approve your own change request. Approval is an attestation by a | |
| 140 | 147 | different account. | |
| 141 | - CI for a contributor branch does not run until a maintainer allows that exact | ||
| 142 | tip. A new push waits again. | ||
| 148 | - CI for a branch under `refs/heads/contrib/` does not run until a maintainer | ||
| 149 | allows that exact tip. A new push waits again. | ||
| 143 | 150 | ||
| 144 | 151 | ## CI and tests | |
| 145 | 152 | ||