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.

Unify account terminology and clarify ACL commands

2e024cc96a391c0959ad2914caeed78b600fcfc1 · Keenan Nemetz · 14d ago · parent ab326d3a

Unify account terminology and clarify ACL commands

Use account consistently in the CLI, help, docs, and remote admin messages. Rename the CLI account command from user to account while retaining the old user spelling as an alias.

Replace positional ACL mutations with explicit verbs such as set-role, protect add, runners remove, and checks enable. Update local and remote admin parsing, hints, docs, and tests.

Tidy repository filter alignment and remove duplicated issue/change counts from page subtitles.

cmd/vole/issue.go +8−8

@@ -12,17 +12,17 @@ import (
12 12 )
13 13
14 14 func issueUsage() string {
15 return `usage: vole issue new --title <title> [-m <text> | -F <file>] [-l <label>]... [-a <user>]...
15 return `usage: vole issue new --title <title> [-m <text> | -F <file>] [-l <label>]... [-a <account>]...
16 16 or: vole issue comment <id> [-m <text> | -F <file>] [--reply-to <comment-id>]
17 17 or: vole issue edit-comment <id> <comment-id> [-m <text> | -F <file>]
18 18 or: vole issue rm-comment <id> <comment-id>
19 19 or: vole issue edit <id> [--title <title>] [-m <text> | -F <file>] [-l <label>]...
20 [-a <user>]... [--unassign <user>]...
21 or: vole issue assign <id> <user>...
22 or: vole issue unassign <id> <user>...
20 [-a <account>]... [--unassign <account>]...
21 or: vole issue assign <id> <account>...
22 or: vole issue unassign <id> <account>...
23 23 or: vole issue close <id>
24 24 or: vole issue reopen <id>
25 or: vole issue list [--state <state>] [-l <label>]... [--assignee <user>]... [--format <fmt>]
25 or: vole issue list [--state <state>] [-l <label>]... [--assignee <account>]... [--format <fmt>]
26 26 or: vole issue show <id>
27 27
28 28 Multiple -l, -a and --assignee options are allowed. --format understands
@@ -184,7 +184,7 @@ func cmdIssue(args []string) error {
184 184
185 185 case "assign", "unassign":
186 186 if len(f.rest) < 2 {
187 return usagef("usage: vole issue %s <id> <user>...", sub)
187 return usagef("usage: vole issue %s <id> <account>...", sub)
188 188 }
189 189 id, err := c.ResolveIssueID(f.rest[0])
190 190 if err != nil {
@@ -192,7 +192,7 @@ func cmdIssue(args []string) error {
192 192 }
193 193 names := metadata.NormalizeAssignees(f.rest[1:])
194 194 if len(names) == 0 {
195 return usagef("usage: vole issue %s <id> <user>...", sub)
195 return usagef("usage: vole issue %s <id> <account>...", sub)
196 196 }
197 197 add := sub == "assign"
198 198 updated, err := c.ApplyIssue(id, func(i *metadata.Issue) error {
@@ -226,7 +226,7 @@ func cmdIssue(args []string) error {
226 226 case "edit":
227 227 if len(f.rest) != 1 {
228 228 return usagef("usage: vole issue edit <id> [--title <title>] [-m <text> | -F <file>] " +
229 "[-l <label>]... [-a <user>]... [--unassign <user>]...")
229 "[-l <label>]... [-a <account>]... [--unassign <account>]...")
230 230 }
231 231 id, err := c.ResolveIssueID(f.rest[0])
232 232 if err != nil {