cli/pkg/cmd
Tyler McGoffin 41729b004d Refactor finder.Find and replace parseCurrentBranch with parsePRRefs
I've been struggling horribly to reason through all of this code, and
after much mental gymnastics I identified the culprit as the overloaded
"branch" string returned by parseCurrentBranch.

This value was either the name of the branch that the PR we're looking for
is associated with, or that name prepended with the owner's name and a :
if we're on a branch, so:

PR branch: featureBranch
branch == "featureBranch"

If on Fork belonging to "ForkOwner"
branch == "ForkOwner:featureBranch"

Since this extra information was bundled up into this single string, it
complicated the responsibilities of parseCurrentBranch's "branch" return
value. Thus, I've teased out "branch" into the new PRRefs struct:

type PRRefs struct{
	BranchName string
	HeadRepo ghrepo.Interface
	BaseRepo ghrepo.Interface
}

This allows the new parsePRRefs function to move all the previous
"branch" string's information into structured data, and allows for a new
method on PRRefs, GetPRLabel(), to create the string that "branch"
previously held to pass into its downstream consumer, namely
findForBranch.

This also allowed for better test coverage, directly connecting the PRRefs
fields to the values contained in the git config. Overall, I am now
confident that this is doing what its supposed to do with respect to my
understanding of the various central and triangular git workflows we are
addressing.
2025-01-23 15:25:28 -08:00
..
actions Additional formatting changes 2023-12-01 09:08:51 -05:00
alias Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
api Update documentation for gh api PATCH 2024-07-22 19:36:20 +01:00
attestation add check for invalid attestation 2025-01-08 08:38:43 -07:00
auth Update pkg/cmd/auth/login/login.go 2025-01-06 17:21:02 +01:00
browse docs: update description of command 2024-12-06 20:43:54 +03:00
cache Apply suggestions from code review 2024-11-21 13:55:35 -07:00
codespace fix: list branches in square brackets in gh codespace 2024-12-10 15:19:30 -05:00
completion Bump github.com/spf13/cobra from v1.4.0 to v1.5.0 (#6196) 2022-09-06 09:43:40 +04:00
config Add prefer_editor_prompt config 2024-07-09 21:01:50 +09:00
extension Merge pull request #9934 from cli/andyfeller/cli-cli-8183-timeout-pt2 2025-01-13 09:12:32 -05:00
factory Document SmartBaseRepoFunc 2024-12-23 19:07:17 +01:00
gist Merge pull request #9728 from heaths/issue9704 2024-10-15 16:26:13 -07:00
gpg-key Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
issue Correct help documentation around template use in gh issue create 2025-01-09 11:08:18 -05:00
label Fix tests 2024-08-16 10:11:52 -07:00
org Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
pr Refactor finder.Find and replace parseCurrentBranch with parsePRRefs 2025-01-23 15:25:28 -08:00
project Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
release Refactor error handling for missing "workflow" scope in createRelease 2024-11-23 16:59:49 -07:00
repo Merge branch 'trunk' into trunk 2025-01-04 10:24:07 +05:30
root Enhance help docs on ext upgrade notices 2025-01-13 08:41:10 -05:00
ruleset Use go-gh/auth package for IsEnterprise, IsTenancy, and NormalizeHostname 2024-10-15 11:56:43 -07:00
run add pending status for workflow runs 2024-12-26 19:10:06 +03:00
search Resolve PR feedback 2024-10-14 15:08:23 -07:00
secret Fix host handling in variable and secret delete 2024-08-02 15:11:22 -04:00
ssh-key Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
status Move config interfaces into gh package (#9060) 2024-05-10 10:39:36 +02:00
variable Merge branch 'trunk' into tab-indents 2024-08-06 13:08:48 -04:00
version Fix --version flag printing to stdout 2022-05-24 16:21:13 +02:00
workflow Fix tests 2024-08-16 10:11:52 -07:00