Skip to content

Homogenize bin scripts#35

Open
jacquev6 wants to merge 4 commits into
mainfrom
jacquev6/homogenize-bin-scripts
Open

Homogenize bin scripts#35
jacquev6 wants to merge 4 commits into
mainfrom
jacquev6/homogenize-bin-scripts

Conversation

@jacquev6
Copy link
Copy Markdown
Contributor

@jacquev6 jacquev6 commented May 4, 2026

Everything is described in the README.md.

The number of client scripts (6) is the product of:

  • 2 providers: GitHub and GitLab
  • 3 paths: direct, through the SCM RPC server, and through Sentry

This is reasonable for now, and arguably easier to use than a single client with several command-line options, but this should be reconsidered if either factor increases.

@jacquev6 jacquev6 requested a review from a team as a code owner May 4, 2026 13:40
Comment thread bin/sentry-client
Comment thread src/scm/private/cli_support.py Outdated
Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 2 potential issues.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit 68470b7. Configure here.

Comment thread bin/rpc-server
Comment thread bin/sentry-rpc-github-client Outdated
Comment thread bin/rpc-client
Comment thread bin/rpc-server
Copy link
Copy Markdown
Member

@cmanallen cmanallen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is too complicated. Ideally we have one server and one client script. I would drop the "direct" clients. Proxying through the RPC covers the direct case and also gives us additional coverage by flowing through our RPC server substrate.

I think three files should be sufficient:

  • ./rpc-server
  • ./rpc-client
  • ./sentry-client

For disambiguating providers a flag like --provider could be used in lieu of a different file:

./rpc-client get-pull-request <id> --provider=github

Tacking it onto the end makes it easier to test multiple providers by changing provider names on the tail. But if that complicates command definitions then putting it elsewhere is fine too. ./rpc-client github get-pull-request <id>.

Comment thread bin/rpc-server
@jacquev6
Copy link
Copy Markdown
Contributor Author

jacquev6 commented May 5, 2026

Agreed. I dropped the direct clients in 5113784. I merged the GitHub and GitLab clients in 1694d2a.

I used a required option --provider for consistency with --repo, but IMO we should (in another PR) drop the "default repo is loaded from .credentials" feature, and make both provider and repo plain mandatory positional arguments, to be used as bin/rpc-client github jacquev6/foo get-repository.

@cmanallen
Copy link
Copy Markdown
Member

@jacquev6 cli_support.py should probably be removed. I'd prefer not to package it. I would move cli_support.py to the bin directory. I'm pretty sure we can import it from there. Otherwise we can just duplicate whatever code there is between rpc-client and sentry-client.

@cmanallen
Copy link
Copy Markdown
Member

@jacquev6 But this is lower priority than the issues Billy shared with you on Slack.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants