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.
docs/change-requests.md +17−11
| @@ -15,17 +15,23 @@ requests/<ulid>/approvals/<account-name>.md # one approval per account | |||
| 15 | 15 | ||
| 16 | 16 | ## Opening and landing a request | |
| 17 | 17 | ||
| 18 | A contributor opens a request after pushing a branch under | ||
| 19 | `refs/heads/contrib/<name>/`, from the web or with `vole change new`. The | ||
| 20 | **Open change request** form on the repository's change-request page lists their | ||
| 21 | namespaced branches; the CLI is checked the same way by pre-receive, which reads | ||
| 22 | the branch the request names. A contributor cannot name an arbitrary commit or | ||
| 23 | another account's branch. The namespace is the account name, which is fixed at | ||
| 24 | creation. CI | ||
| 25 | for that commit is held until a maintainer allows the exact tip from the | ||
| 26 | repository page. | ||
| 27 | |||
| 28 | Maintainers can still use the CLI: | ||
| 18 | A request starts from a branch you may push. Which branches those are depends on | ||
| 19 | your role: | ||
| 20 | |||
| 21 | - A `maintain` or `admin` account may push shared branches, so it can propose any | ||
| 22 | ordinary branch in the repository. | ||
| 23 | - A `contribute` account may propose only a branch in its own namespace, | ||
| 24 | `refs/heads/contrib/<name>/`. | ||
| 25 | |||
| 26 | The **Open change request** form on the repository's change-request page lists | ||
| 27 | exactly the branches your account may propose; pre-receive checks the branch the | ||
| 28 | request names the same way. A `contribute` account cannot name an arbitrary | ||
| 29 | commit or another account's branch. The namespace is the account name, which is | ||
| 30 | fixed at creation. CI for a branch under `refs/heads/contrib/` is held until a | ||
| 31 | maintainer allows the exact tip from the repository page; a shared branch runs CI | ||
| 32 | when it is pushed. | ||
| 33 | |||
| 34 | A maintainer can open a request from a shared branch with the CLI: | ||
| 29 | 35 | ||
| 30 | 36 | ```sh | |
| 31 | 37 | # The author pushes a branch and opens a request for the issue it fixes. | |