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/vole.git

Write over SSH with a registered key:

git clone ssh://git@rodent.software:2222/vole.git

A free and open-source forge that lives in your Git repo.

Add instance-wide roles and refine access UI

5b814e9958090cfd1fa826efb2d375bf613547c1 · Keenan Nemetz · 14d ago · parent 9579c1f9

Add instance-wide roles and refine access UI

Instance roles now live on accounts, apply to public repositories, and the Admin role is the unified instance-admin permission with access to every repository. Repository ACLs can raise an instance role but not lower it.

Adds role assignment to the users UI and CLI, open-registration role config, a reusable role picker, and separates adding a repository account from saving access rules.

server/web/writes.go +1−1

@@ -554,7 +554,7 @@ func (w *Web) CreateChangeRequest(rw http.ResponseWriter, r *http.Request) {
554 554 return
555 555 }
556 556 headRef := "refs/heads/" + head
557 if acl.RoleFor(pr.account.Name) == access.Contributor {
557 if acl.RoleFor(pr.account.Name) == access.Contribute {
558 558 // A contributor's head must be a branch the hook would let them push. The
559 559 // namespace is the account name, which cannot change, so this agrees with
560 560 // the gate without a roster lookup.