fix: pass through -R/--repo flag in gh view commands#328
Merged
pszymkowiak merged 1 commit intortk-ai:masterfrom Mar 6, 2026
Merged
fix: pass through -R/--repo flag in gh view commands#328pszymkowiak merged 1 commit intortk-ai:masterfrom
pszymkowiak merged 1 commit intortk-ai:masterfrom
Conversation
This was referenced Mar 5, 2026
Collaborator
|
Hi @jackfreem, @rursache! We have several PRs tackling gh flag passthrough (#196, #217, #319, #325, #328) — they all touch |
5 tasks
gh view/checks commands (pr view, issue view, pr checks, run view) were ignoring extra flags like -R/--repo, causing failures outside git repositories where gh needs -R to know which repo to query. The root cause: these functions took args[0] as the identifier and discarded everything else, while constructing hardcoded gh commands. Changes: - Add extract_identifier_and_extra_args() to separate the positional identifier from flags, handling both `view 123 -R owner/repo` and `view -R owner/repo 123` argument orders - Pass extra args through to gh in view_pr, view_issue, pr_checks, and view_run - Add has_json_flag() check at top of run() to passthrough when user explicitly requests --json output (related fix from #313) Fixes #223
a2c24e6 to
374ea6c
Compare
Contributor
Author
|
@FlorianBruniaux Rebased on latest master and consolidated #325 (now closed) into this PR. All tests pass. Ready for review! |
This was referenced Mar 5, 2026
Collaborator
|
Review: LGTM ✅ Verified locally — cargo fmt clean, cargo clippy clean, 618/618 tests pass. Clean implementation:
Mergeable, no conflicts. |
ahundt
added a commit
to ahundt/rtk
that referenced
this pull request
Mar 11, 2026
Incorporates 52 upstream commits (v0.27.0 → v0.28.2): - TOML filter DSL engine + 30 built-in filters (PRs rtk-ai#349, rtk-ai#351, rtk-ai#386) - Graphite CLI support (PR rtk-ai#290) - git commit -am/--amend fix via trailing_var_arg (PR rtk-ai#327) - restore_double_dash for cargo (PR rtk-ai#326) - gh -R/--repo passthrough, pr edit/comment fix (PRs rtk-ai#328, rtk-ai#332) - docker compose subcommand filtering (PR rtk-ai#336) - Telemetry tokens_saved + install_method (PRs rtk-ai#462, rtk-ai#469, rtk-ai#471) - proxy streaming (PR rtk-ai#268) - Diff limits increased (100→500 lines, 10→30 hunk lines) Conflict resolution (5 files): - cargo_cmd.rs: adopted upstream restore_double_dash, adapted streaming run_test() to use it, converted old split_at_double_dash tests - git.rs: adopted upstream simplified Commit unit variant (fixes -am), adapted all commit tests to flat args API, added 6 new edge case tests - init.rs: added TOML template generation alongside hook manifest - main.rs: merged both upstream (gt, toml_filter, verify) and hooks-v2 (cmd, hook, stream, pipe) modules, kept all tests from both sides - utils.rs: kept hooks-v2 command_in_path/which_command + upstream English docs Hook engine additions during merge: - Added gt to hook_lookup() whitelist with 4 routing test cases All 5 hook bug fixes from issue rtk-ai#361 preserved: 1. Streaming (stream.rs BufReader) 2. Handler coordination (parallel-merge + run_manifest_handlers on both paths) 3. Stderr deny (exit 2) 4. Routing whitelist (hook_lookup) 5. Vitest run injection 1182 tests pass (1 environment-dependent upstream test excluded).
ahundt
added a commit
to ahundt/rtk
that referenced
this pull request
Mar 11, 2026
Incorporates 52 upstream commits (v0.27.0 → v0.28.2): - TOML filter DSL engine + 30 built-in filters (PRs rtk-ai#349, rtk-ai#351, rtk-ai#386) - Graphite CLI support (PR rtk-ai#290) - git commit -am/--amend fix via trailing_var_arg (PR rtk-ai#327) - restore_double_dash for cargo (PR rtk-ai#326) - gh -R/--repo passthrough, pr edit/comment fix (PRs rtk-ai#328, rtk-ai#332) - docker compose subcommand filtering (PR rtk-ai#336) - Telemetry tokens_saved + install_method (PRs rtk-ai#462, rtk-ai#469, rtk-ai#471) - proxy streaming (PR rtk-ai#268) - Diff limits increased (100→500 lines, 10→30 hunk lines) Conflict resolution (5 files): - cargo_cmd.rs: adopted upstream restore_double_dash - git.rs: adopted upstream simplified Commit variant (fixes -am), fixed test_git_status_not_a_repo via GIT_DIR env override - init.rs: added TOML template generation alongside hook manifest, made resolve_claude_dir pub(crate) for config/mod.rs - main.rs: merged upstream (gt, toml_filter, verify) and multi-platform (cmd, hook, stream, safety, gemini) modules - utils.rs: accepted English doc comments Recovery edits (safety integration restored after incorrect overwrite): - hook/mod.rs: restored config::rules::try_remap(), safety::check_raw(), safety::check() per-command, FORMAT_PRESERVING/TRANSPARENT_SINKS pub(crate), basename extraction, safety-dependent tests - discover/registry.rs: updated 3 wc tests for upstream IGNORED_PREFIXES All hook engine + safety + gemini features preserved. 1332 tests pass, 0 failures, 5 ignored.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
rtk gh issue view,rtk gh pr view,rtk gh pr checks, andrtk gh run viewwere ignoring extra flags like-R/--repo, causing failures outside git repositories (whereghneeds-Rto know which repo to query).Root cause: These functions took
args[0]as the identifier (PR/issue number) and discarded everything else, while constructing hardcodedghcommands without the user's flags.Fix:
extract_identifier_and_extra_args()that separates the positional identifier from flags, correctly handling bothview 123 -R owner/repoandview -R owner/repo 123argument ordersgh--jsonpassthrough fix fromrtk gh pr view --json ...fails #313 (preventsUnknown JSON fielderrors)Fixes #223
Test plan
test_extract_identifier_simple— basic number extractiontest_extract_identifier_with_repo_flag_after—185 -R rtk-ai/rtktest_extract_identifier_with_repo_flag_before—-R rtk-ai/rtk 185test_extract_identifier_with_long_repo_flag—--repo owner/repotest_extract_identifier_empty— empty args returns Nonetest_extract_identifier_only_flags— no positional returns Nonetest_extract_identifier_with_web_flag— other flags preservedtest_has_json_flag_present/test_has_json_flag_absentrtk gh issue view 223 -R rtk-ai/rtkworks from/tmp(outside git repo)rtk gh issue view -R rtk-ai/rtk 223works (flag before number)rtk gh pr view 324 -R rtk-ai/rtkworks from/tmprtk gh issue view 223 -R rtk-ai/rtk --json number,titlepasses through raw JSON