Browse commits and files at a ref, show signature state, manage org labels #284
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/spec-parity-browse"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Four fjord-client-spec requirements: ssh-gpg-keys (commit signature
state), code-browsing (tags and browsing a tag ref), actions-ci
(Actions variables) and labels (organization labels and exclusive
groups).
fj repo commit list|viewread history at --ref, --branch or --tag andshow each commit's signature state from the
verificationobject:verified with the signer, or nothing when the commit is unsigned. The
SIGNATURE column is dropped when no commit reports one.
fj repo contents [PATH]reads a file or directory at a ref. A tag ispinned to its commit and labelled read-only.
fj browse --tagopens thetag route.
fj label list|create|edit|delete --org ORGwork on organizationlabels, with --exclusive and --no-exclusive for
group/namelabels.Assigning labels on issue and pr create or edit now falls back to the
org's labels for names the repository does not have, and when an
exclusive label displaces a sibling the message is taken from the set
the forge confirms.
fj label createandfj label editpanicked at parse time on main,with or without the flag: their
--colorshared an arg id with theglobal ANSI
--color. The label flag is now--label-color.fj variable setcould not create a variable (PUT only) and anon-empty
fj variable listfailed to decode, because the modelrequired a
created_atthe API does not send.setnow reads, thenPUTs or POSTs, then confirms. The list table is NAME / VALUE / SCOPE and
its JSON follows the ActionVariable shape. Variable values no longer
reach --debug output.
Covered by unit and wiremock tests only. Two things deserve a live check. The
variable listmodel was rewritten to the swaggerActionVariableshape, and the testlist_variables_parses_live_bare_arraywas rewritten with it, so the claim that the old shape never decoded rests on the swagger document and not on a recorded response. And--colorto--label-coloronlabel create|editis a flag rename, though the old spelling could not be used: both commands panic atsrc/cli/mod.rs:105on main ("Mismatch between definition and access ofcolor").Part 7 of 8 in the spec-parity stack. Based on
feat/spec-parity-pr, so the diff here is this slice alone; it needs a rebase onto main once the PR below it is squash-merged.Verified on macOS at this commit:
cargo fmt --allclean,cargo clippy --all-targets --all-features -- -D warningsclean,cargo test --allgreen.