From 224cb060046a67382f2eb7a363f5ca64252dc14d Mon Sep 17 00:00:00 2001 From: damocles Date: Thu, 2 Jul 2026 21:00:38 +0200 Subject: [PATCH] rename pr verbs per review: request-review -> assign-reviewer, assign -> assign-committer --- docs/tools/forge.md | 5 +++-- hive-forge/src/main.rs | 6 +++--- hive-forge/src/verbs/mod.rs | 2 +- ...pr_request_review.rs => pr_assign_reviewer.rs} | 8 ++++---- hive-forge/src/verbs/pr_cmd.rs | 15 ++++++++------- 5 files changed, 19 insertions(+), 17 deletions(-) rename hive-forge/src/verbs/{pr_request_review.rs => pr_assign_reviewer.rs} (82%) diff --git a/docs/tools/forge.md b/docs/tools/forge.md index b6bcaf03..6beb0840 100644 --- a/docs/tools/forge.md +++ b/docs/tools/forge.md @@ -55,8 +55,9 @@ hive-forge pr-reviews 42 # list reviews; inline comments incl hive-forge pr-reviews 42 --approve # submit APPROVED review hive-forge pr-reviews 42 --request-changes -m "msg" # submit REQUEST_CHANGES review hive-forge pr-reviews 42 --comment -m "msg" # submit COMMENT review -hive-forge pr request-review 42 argus # set argus as a requested reviewer on the PR -hive-forge pr request-review 42 argus --remove # withdraw the request +hive-forge pr assign-reviewer 42 argus # set argus as a requested reviewer on the PR +hive-forge pr assign-reviewer 42 argus --remove # withdraw the request +hive-forge pr assign-committer 42 damocles # add damocles to the PR's assignee list hive-forge diff 42 # unified diff (lockfile hunks collapsed by default) hive-forge diff 42 --full # include unfiltered lockfile hunks hive-forge list # open issues/PRs diff --git a/hive-forge/src/main.rs b/hive-forge/src/main.rs index a679822b..d03afb8d 100644 --- a/hive-forge/src/main.rs +++ b/hive-forge/src/main.rs @@ -63,7 +63,7 @@ enum Verb { /// Edit an issue's title, body, state, or milestone. #[command(hide = true)] IssueEdit(verbs::issue_edit::Args), - /// PR-scoped commands: `pr …`. + /// PR-scoped commands: `pr …`. Pr(verbs::pr_cmd::Args), /// List a PR's commits as JSON (sha, message, author date, author). /// Survives rebase-rewritten shas — message + author date let a @@ -137,7 +137,7 @@ enum Verb { PrReviews(verbs::pr_reviews::Args), /// Request (or withdraw with `--remove`) a review from a user on a PR. #[command(hide = true)] - PrRequestReview(verbs::pr_request_review::Args), + PrAssignReviewer(verbs::pr_assign_reviewer::Args), /// List branches, optionally filtered. Branches(verbs::branches::Args), /// Print the tree SHA at a branch or commit. @@ -203,7 +203,7 @@ fn main() -> Result<()> { Verb::Milestone(a) => verbs::milestone::run(&client, a), Verb::PrMerge(a) => verbs::pr_merge::run(&client, a), Verb::PrReviews(a) => verbs::pr_reviews::run(&client, a), - Verb::PrRequestReview(a) => verbs::pr_request_review::run(&client, a), + Verb::PrAssignReviewer(a) => verbs::pr_assign_reviewer::run(&client, a), Verb::Branches(a) => verbs::branches::run(&client, a), Verb::TreeSha(a) => verbs::tree_sha::run(&client, a), Verb::Diff(a) => verbs::diff::run(&client, a), diff --git a/hive-forge/src/verbs/mod.rs b/hive-forge/src/verbs/mod.rs index bb48cf5f..ffe8c420 100644 --- a/hive-forge/src/verbs/mod.rs +++ b/hive-forge/src/verbs/mod.rs @@ -26,11 +26,11 @@ pub mod lint; pub mod list; pub mod milestone; pub mod pr; +pub mod pr_assign_reviewer; pub mod pr_cmd; pub mod pr_commits; pub mod pr_create; pub mod pr_merge; -pub mod pr_request_review; pub mod pr_reviews; pub mod pr_status; pub mod reopen; diff --git a/hive-forge/src/verbs/pr_request_review.rs b/hive-forge/src/verbs/pr_assign_reviewer.rs similarity index 82% rename from hive-forge/src/verbs/pr_request_review.rs rename to hive-forge/src/verbs/pr_assign_reviewer.rs index 02f53af0..5f4718e0 100644 --- a/hive-forge/src/verbs/pr_request_review.rs +++ b/hive-forge/src/verbs/pr_assign_reviewer.rs @@ -1,6 +1,6 @@ -//! `pr-request-review [--remove]` — add or remove a -//! requested reviewer on a PR. Unlike `assign` (assignees, mutate + -//! PATCH the issue) Forgejo has a dedicated endpoint pair for review +//! `pr assign-reviewer [--remove]` — add or remove a +//! requested reviewer on a PR. Unlike `pr assign-committer` (assignees, +//! mutate + PATCH the issue) Forgejo has a dedicated endpoint pair for review //! requests: `POST /repos/{repo}/pulls/{index}/requested_reviewers` //! adds, `DELETE` (same path + body) removes. Requesting a review from //! a user who is already requested is a Forgejo-side no-op, so the verb @@ -15,7 +15,7 @@ use crate::client::Client; #[derive(ClapArgs)] pub struct Args { /// PR number. - pub(crate) number: u64, + number: u64, /// User login to request a review from (or withdraw with `--remove`). user: String, /// Withdraw the review request instead of adding it. diff --git a/hive-forge/src/verbs/pr_cmd.rs b/hive-forge/src/verbs/pr_cmd.rs index d04ccf0a..ce627bff 100644 --- a/hive-forge/src/verbs/pr_cmd.rs +++ b/hive-forge/src/verbs/pr_cmd.rs @@ -1,7 +1,7 @@ //! `pr ` — PR-scoped sub-commands. Wraps the per-verb modules under a //! `pr` parent so `hive-forge pr close 42`, `pr status --pr 42`, etc. read as //! kind-namespaced commands. The generic verbs that also work on issues -//! (view/comment/comments/close/reopen/labels/assign/timeline) kind-check the number +//! (view/comment/comments/close/reopen/labels/assign-committer/timeline) kind-check the number //! is a PR first (`assert_kind`); the PR-only verbs hit `/pulls/…` and are //! kind-correct by construction. The flat `pr-*` + bare generic verbs stay as //! hidden back-compat aliases (see `main.rs`). @@ -32,8 +32,8 @@ enum Cmd { Merge(verbs::pr_merge::Args), /// List a PR's reviews, or submit one. Reviews(verbs::pr_reviews::Args), - /// Request (or withdraw) a review from a user. - RequestReview(verbs::pr_request_review::Args), + /// Request (or withdraw with `--remove`) a review from a user. + AssignReviewer(verbs::pr_assign_reviewer::Args), /// Print the PR's unified diff. Diff(verbs::diff::Args), /// Show title + body + comments. @@ -48,8 +48,9 @@ enum Cmd { Reopen(verbs::reopen::Args), /// List / add / remove labels. Labels(verbs::labels::Args), - /// Assign or unassign a user. - Assign(verbs::assign::Args), + /// Assign or unassign a user (the PR's assignee list). + #[command(alias = "assign")] + AssignCommitter(verbs::assign::Args), /// List timeline events. Timeline(verbs::timeline::Args), } @@ -63,7 +64,7 @@ pub fn run(client: &Client, args: Args) -> Result<()> { Cmd::Status(a) => verbs::pr_status::run(client, a), Cmd::Merge(a) => verbs::pr_merge::run(client, a), Cmd::Reviews(a) => verbs::pr_reviews::run(client, a), - Cmd::RequestReview(a) => verbs::pr_request_review::run(client, a), + Cmd::AssignReviewer(a) => verbs::pr_assign_reviewer::run(client, a), Cmd::Diff(a) => verbs::diff::run(client, a), // Generics shared with `issue` — verify the number is a PR first. Cmd::View(a) => { @@ -90,7 +91,7 @@ pub fn run(client: &Client, args: Args) -> Result<()> { assert_kind(client, a.number, Kind::Pr)?; verbs::labels::run(client, a) } - Cmd::Assign(a) => { + Cmd::AssignCommitter(a) => { assert_kind(client, a.number, Kind::Pr)?; verbs::assign::run(client, a) }